美文网首页
简化路径

简化路径

作者: hustyanye | 来源:发表于2019-07-14 12:22 被阅读0次

https://leetcode-cn.com/explore/interview/card/bytedance/242/string/1013/

以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。

在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..) 表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径

请注意,返回的规范路径必须始终以斜杠 / 开头,并且两个目录名之间必须只有一个斜杠 /。最后一个目录名(如果存在)不能/ 结尾。此外,规范路径必须是表示绝对路径的最短字符串。

思路:
主要是考察栈的用法,如果发现“..”则pop,发现正常路径则append

class Solution(object):
    def simplifyPath(self, path):
        """
        :type path: str
        :rtype: str
        """
        if not path:
            return ''
        result = []
        for each_p in path.split('/'):
            if not each_p or each_p == '/' or each_p== '.':
                continue
            elif each_p == '..':
                if len(result)>0:
                    result.pop()
            else:
                result.append(each_p)
        
        return '/' + '/'.join(result)

相关文章

  • 简化路径

    以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix 风格的文...

  • 简化路径

    https://leetcode-cn.com/explore/interview/card/bytedance/...

  • 简化路径

    思路一 使用栈来处理遇到 ".." 出栈遇到 "." 不处理其它情况,进栈 最后拼接字符串 Leecode Gol...

  • 简化路径

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/simpli...

  • Swift - 简化绝对路径

    题目 给出一个文件的绝对路径,要求将其简化。举个例子,路径是“/home/”,简化后为“/home”,路径是“/a...

  • PHP路径简化

    在 Linux 下执行 php 脚本时通常是可以使用以下命令: #/usr/local/php/bin/php t...

  • leetCode进阶算法题+解析(十)

    简化路径 题目:以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Un...

  • 71.简化路径

  • 71.简化路径

    题目给定一个文档 (Unix-style) 的完全路径,请进行路径简化。 例如:path = "/home/", ...

  • [LeetCode]71、简化路径

    题目描述 以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。 在 Unix...

网友评论

      本文标题:简化路径

      本文链接:https://www.haomeiwen.com/subject/fyubkctx.html