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

【LeetCode】71.简化路径

1. 题目

在这里插入图片描述

2. 分析

3. 代码

我写了一版很复杂的代码:

class Solution:def simplifyPath(self, path: str) -> str:operator = [] # 操作符的栈dir_name = [] # 文件名的栈idx = 0cur_dir_name = ""while(idx < len(path)):if path[idx] == '/':operator.append('/')cur_dir_name = "" # initnext_idx = idx+1while(next_idx < len(path) and path[next_idx]!='/'):cur_dir_name += path[next_idx]next_idx+=1# 获取dir_nameif cur_dir_name == ".":operator.pop()elif cur_dir_name == "..":if len(operator):operator.pop()if len(dir_name):dir_name.pop()elif cur_dir_name != "":dir_name.append(cur_dir_name)elif cur_dir_name == "":operator.pop()idx = next_idx# 输出最后结果res = ""for i in range(len(operator)):if i < len(dir_name):res += (operator[i] + dir_name[i])if res == "":res = "/"return res

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 九-2、Rocky Linux软件包管理与安装 学习笔记
  • CTF-pwn-虚拟化-vmmware 前置
  • Study--Oracle-07-ASM相关参数(三)
  • 钉钉 ai卡片 stream模式联调
  • 三星Unpacked发布会即将举行:有新款折叠屏手机,还有智能戒指
  • 3W单声道关断模式音频功率放大器AD4150B
  • 如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
  • springboot+vue+mybatis高校宿舍管理系统+PPT+论文+讲解+售后
  • 学习笔记 韩顺平 零基础30天学会Java(2024.7.24)
  • docker 运维查看指定应用log文件位置和名称
  • 设计模式-抽象工厂
  • Ansible的脚本-----playbook剧本【上】
  • org.springframework.context.annotation.ImportSelector的作用是什么?
  • 【数据结构】单链表面试题(Java + 力扣 + 详解)
  • Harmony Next -- 图片选择库:宫格展示、全屏预览
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • es6--symbol
  • extjs4学习之配置
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • javascript面向对象之创建对象
  • JavaScript设计模式之工厂模式
  • js面向对象
  • LeetCode18.四数之和 JavaScript
  • magento 货币换算
  • Node + FFmpeg 实现Canvas动画导出视频
  • spring boot 整合mybatis 无法输出sql的问题
  • vue:响应原理
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 搞机器学习要哪些技能
  • 世界上最简单的无等待算法(getAndIncrement)
  • 说说动画卡顿的解决方案
  • 通过npm或yarn自动生成vue组件
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • ​Java基础复习笔记 第16章:网络编程
  • !$boo在php中什么意思,php前戏
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • (11)MSP430F5529 定时器B
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (6)STL算法之转换
  • (函数)颠倒字符串顺序(C语言)
  • (剑指Offer)面试题34:丑数
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (三)模仿学习-Action数据的模仿
  • (四)汇编语言——简单程序
  • (学习总结16)C++模版2
  • (一)UDP基本编程步骤
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转)IOS中获取各种文件的目录路径的方法
  • ***检测工具之RKHunter AIDE
  • .chm格式文件如何阅读
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET/C# 使窗口永不获得焦点
  • .Net的C#语言取月份数值对应的MonthName值
  • [ C++ ] STL---string类的使用指南