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

71. 简化路径

题目来源:

        LeetCode题目:71. 简化路径 - 力扣(LeetCode)

解题思路:

       按要求处理即可。碰到 多个斜杠以 一个斜杆代替;碰到 "\." 删去当前目录;碰到 "\.." 删去当前及上一个目录。

解题代码:

#python3
class Solution:def allForwardSlash(string:str)->bool:for each in string:if each!="/":return  Falsereturn True def deleteLastFoowardSlash(string:str)->str:if len(string)==0:return stringpos=len(string)-1for i in range(len(string)-1,-1,-1):if string[i]=="/":pos=ibreakreturn string[0:pos]def simplifyPath(self, path: str) -> str:res=""temp=""for each in path:if each=="/":print(temp)if Solution.allForwardSlash(temp):temp="/"elif temp=="/.":temp="/"elif temp=="/..":res=Solution.deleteLastFoowardSlash(res)temp="/"else:res=res+temptemp="/"else:temp=temp+eachif temp=="/..":res=Solution.deleteLastFoowardSlash(res)elif temp!="/" and temp!="/.":res=res+tempif len(res)==0:res="/"return res
 

总结:

        应该直接用 / 分割字符串,将分割后的字符串数组中存在的空串、 "." 、".."及其上一个有意义的字符串  删去,最后再拼接。

        官方题解是用栈分割再拼接。

        


相关文章:

  • 低功耗模式介绍
  • Kotlin协程异常处理全解析
  • 渗透测试核心技术:信息收集与扫描
  • 计算机系统的工作原理
  • 学习wps的书写格式(题目黑体,加粗,三号)
  • Python列表全面解析:从入门到精通
  • defer关键字:延迟调用机制-《Go语言实战指南》
  • 【android bluetooth 协议分析 01】【HCI 层介绍 4】【LeSetEventMask命令介绍】
  • C++实现伽罗华域生成及四则运算(二)
  • UI架构的历史与基础入门
  • 楼宇【复习】
  • python打卡day29@浙大疏锦行
  • AGI大模型(23):LangChain框架快速入门之LangChain介绍
  • unity开发游戏实现角色筛选预览
  • 2025年PMP 学习十九 第12章 项目采购管理
  • 数据结构:二叉树一文详解
  • CSS-in-JS:现代前端样式管理的革新
  • 【MySQL】(12) 事务
  • 功分器简介
  • GORM 知识点入门
  • 三件珍贵标本开箱!中国恐龙大展5月26日在沪开幕,明星标本汇聚一堂
  • 官方数据显示:我国心血管疾病患者已超3亿人
  • 去年上海全市博物馆接待观众约4087万人次,同比增31.9%
  • 家国万里·时光故事会|构筑中国船舰钢筋铁骨,她在焊花里展现工匠风范
  • 蔡建忠已任昆山市副市长、市公安局局长
  • 海外考古大家访谈|冈村秀典:礼制的形成与早期中国