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)

相关推荐

  1. LeetCode笔记71简化路径

    2023-12-05 19:38:03       48 阅读
  2. 【C++】每日一 71 简化路径

    2023-12-05 19:38:03       40 阅读
  3. leetCode71. 简化路径

    2023-12-05 19:38:03       36 阅读
  4. leetcode71简化路径

    2023-12-05 19:38:03       32 阅读
  5. 算法力扣 三十四【71.简化路径

    2023-12-05 19:38:03       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-05 19:38:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-05 19:38:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-05 19:38:03       82 阅读
  4. Python语言-面向对象

    2023-12-05 19:38:03       91 阅读

热门阅读

  1. sql 条件统计,count+if+sum

    2023-12-05 19:38:03       46 阅读
  2. 解析sql的数据流向关系获取

    2023-12-05 19:38:03       35 阅读
  3. Diary16-Word标题与目录设计

    2023-12-05 19:38:03       58 阅读
  4. pwgen 随机密码生成

    2023-12-05 19:38:03       53 阅读
  5. 实施工程师&运维工程师面试题

    2023-12-05 19:38:03       58 阅读
  6. 【算法集训】基础数据结构:一、顺序表(下)

    2023-12-05 19:38:03       63 阅读
  7. 2023年11月个人工作生活总结

    2023-12-05 19:38:03       55 阅读
  8. python中tuple、int和float的内置方法

    2023-12-05 19:38:03       55 阅读