ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

LeetCode刷题笔记第71题:简化路径

2026/8/15 22:59:13 拓冰建站 浏览量
LeetCode刷题笔记第71题:简化路径

LeetCode刷题笔记第71题:简化路径

题目

给定一个路径,简化路径
要求:
1、以’/‘开头
2、两个目录之间只有一个’/’
3、不能以’/‘结尾
4、路径中不能有’.‘和’…’

想法

利用栈的数据存储方式的思想,将路径字符顺序入栈遇见’…‘则将其前一个目录出栈。
具体操作:利用’/‘将路径进行分割,’./‘表示当前路径,’…/‘表示的上一级目录,因此当遇见’…‘将其前一个目录出栈,将栈中剩余目录用’/'连接即可。

class Solution:def simplifyPath(self, path: str) -> str:new_path_list = []path_list = path.split("/")for item in path_list:if item == "..":if new_path_list:new_path_list.pop()elif item and item != ".":new_path_list.append(item)return "/" + "/".join(new_path_list)

时间复杂度:O(n)
空间复杂度:O(n)