当前位置: 首页 > news >正文

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)

http://www.lryc.cn/news/253473.html

相关文章:

  • JavaScript <md5加密的两种不同输出结果分析>--案例(二点一)
  • 『亚马逊云科技产品测评』活动征文|基于亚马逊EC2云服务器配置Nginx静态网页
  • 28、卷积 - 卷积的基础公式
  • Mac电脑vm虚拟机 VMware Fusion Pro中文 for mac
  • 区块链技术的应用场景和优势
  • java面试题-谈谈sql优化-mysql
  • 【Linux服务器Java环境搭建】07 在linux中安装MySql,以及对MySQL的配置与远程连接
  • 用 LangChain 搭建基于 Notion 文档的 RAG 应用
  • QT中如何使用自定义控件
  • xcode ——Instrumets(网络连接调试)使用
  • Ps:文字操作常用快捷键
  • SpringSecurity的默认登录页的使用
  • 【Rust日报】2023-12-04 slint 成功案例
  • 嵌入式硬件和软件哪个好?
  • MySQL 8.x 自签证书通过keytool和openssl转成JKS文件
  • MybatisPlus概述
  • C++之枚举与宏定义
  • DAPP开发【09】NFT交易市场开发(hardhat测试)
  • 【Spring Boot】如何通过RestTemplate获取另一个服务的接口返回信息
  • 文字识别(OCR)专题——基于NCNN轻量级PaddleOCRv4模型C++推理
  • ❀My学习Linux命令小记录(14)❀
  • SqlServer存储过程中使用in
  • Selenium+Unittest+HTMLTestRunner框架更改为Selenium+Pytest+Allure(二)
  • Kotlin Lambda使用
  • 华容道问题求解第一部分_思路即方案设计
  • 测试---UI自动化测试介绍
  • DHCP Host Name
  • uniapp到底用什么ui框架最合适-关于uni-app的ui库、ui框架、ui组件
  • Flask 最佳实践(二)
  • 【MATLAB源码-第93期】基于matlab的白鲸优化算法(BWO)和鲸鱼优化算法(WOA)机器人栅格路径规划对比。