71. 简化路径 
代码 
javascript
// 71. 简化路径:https://leetcode.cn/problems/simplify-path/description/
// 输入:'/home/user/Documents/../Pictures'
// 输出:'/home/user/Pictures'
export function simplifyPath (path) {
  const pathList = path.split('/').filter(item => !['', '.'].includes(item))
  const stack = []
  pathList.forEach(item => {
    if (item === '..') {
      stack.pop()
    } else {
      stack.push(item)
    }
  })
  return `/${stack.join('/')}`
}typescript
// 71. 简化路径:https://leetcode.cn/problems/simplify-path/description/
// 输入:'/home/user/Documents/../Pictures'
// 输出:'/home/user/Pictures'
export function simplifyPath (path: string): string {
  const pathList = path.split('/').filter(item => !['', '.'].includes(item))
  const stack: string[] = []
  pathList.forEach(item => {
    if (item === '..') {
      stack.pop()
    } else {
      stack.push(item)
    }
  })
  return `/${stack.join('/')}`
}测试代码 
ts
import { expect, test } from 'vitest'
import { simplifyPath } from './typescript.ts'
import { simplifyPath as simplifyPathJs } from './javascript.js'
test(`simplifyPath`, () => {
  expect(simplifyPath('/home/')).toBe('/home')
  expect(simplifyPath('/home//foo/')).toBe('/home/foo')
  expect(simplifyPath('/home/user/Documents/../Pictures')).toBe('/home/user/Pictures')
  expect(simplifyPath('/../')).toBe('/')
  expect(simplifyPath('/.../a/../b/c/../d/./')).toBe('/.../b/d')
})
test(`simplifyPathJs`, () => {
  expect(simplifyPathJs('/home/')).toBe('/home')
  expect(simplifyPathJs('/home//foo/')).toBe('/home/foo')
  expect(simplifyPathJs('/home/user/Documents/../Pictures')).toBe('/home/user/Pictures')
  expect(simplifyPathJs('/../')).toBe('/')
  expect(simplifyPathJs('/.../a/../b/c/../d/./')).toBe('/.../b/d')
})