孝感网站建设 付款方式 银行,wordpress编辑器插件,企业网站设计建设服务器,怎么建淘宝优惠券网站做推广1 问题
给你一个字符串 path #xff0c;表示指向某一文件或目录的 Unix 风格 绝对路径 #xff08;以 / 开头#xff09;#xff0c;请你将其转化为更加简洁的规范路径。
在 Unix 风格的文件系统中#xff0c;一个点#xff08;.#xff09;表示当前目录本身#xf…1 问题
给你一个字符串 path 表示指向某一文件或目录的 Unix 风格 绝对路径 以 / 开头请你将其转化为更加简洁的规范路径。
在 Unix 风格的文件系统中一个点.表示当前目录本身此外两个点 .. 表示将目录切换到上一级指向父目录两者都可以是复杂相对路径的组成部分。任意多个连续的斜杠即//都被视为单个斜杠 / 。 对于此问题任何其他格式的点例如...均被视为文件/目录名称。
请注意返回的 规范路径 必须遵循下述格式
始终以斜杠 / 开头。 两个目录名之间必须只有一个斜杠 / 。 最后一个目录名如果存在不能 以 / 结尾。 此外路径仅包含从根目录到目标文件或目录的路径上的目录即不含 . 或 ..。 返回简化后得到的 规范路径 。
2 答案
这题直接不会
官方解利用栈把当前目录压入栈中,遇到..弹出栈顶,最后返回栈中元素
class Solution:def simplifyPath(self, path: str) - str:stack [] # 用列表当做栈path path.split(/) # //也会被当做分割符分割/不会存在字符串中for item in path:if item ..:if stack:stack.pop()elif item and item ! .:stack.append(item)return //.join(stack) # 使用/来连接列表中的元素https://leetcode.cn/problems/simplify-path/solutions/