当前位置: 首页 > 后端技术 > Python

力扣71,简化路径Python实现

时间:2023-03-26 11:37:22 Python

题目要求:思路:将字符串保存为数组,以“/”为分隔符定义一个res数组,用于保存返回结果遍历数组,如果当前值为“.”,则如果当前值为“..",弹出res的最后一个元素,其他情况(当前值为目录名),追加到res中,最后用"/"将res中的元素拼接在一起,并在头部加一个"/"。核心代码:#definitionres数组用于保存结果集res=[]#用“/”分割给定的字符串mypath=path.split('/')#遍历分割数组foriinmypath:#If当前值存在(给定的字符串可能有两个以上连续的“/”)ifi:#如果当前值为“.”,则跳过ifi==“.”:pass#如果当前值为“..",并且res不为空,弹出res的最后一个元素elifi=="..":ifres:res.pop()#其他情况(当前值为目录名),将其添加到resultsetelse:res.append(i)#最后拼出结果集,注意开头一定要有“/”result='/'+'/'.join(res)returnresult完整代码:classSolution(object):defsimplifyPath(self,path):""":typepath:str:rtype:str"""res=[]mypath=path.split('/')在我的路径中为我打印我的路径:如果i:ifi==".":passelifi=="..":ifres:res.pop()else:res.append(i)result='/'+'/'.join(res)返回结果

猜你喜欢