当前位置: 首页 > 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
http://www.lryc.cn/news/406178.html

相关文章:

  • DockerCompose 安装环境
  • 学习笔记之JAVA篇(0724)
  • 【Android】广播机制
  • 【.NET全栈】ASP.NET开发Web应用——ASP.NET数据绑定技术
  • MySQL的账户管理
  • FastGPT 源码调试配置
  • SQL Server数据迁移新纪元:数据库数据泵(Data Pump)使用指南
  • Android性能优化之OOM
  • 代码随想录算法训练营day7 | 454.四数相加II、383.赎金信、15.三数之和、18.四数之和
  • Spark实时(三):Structured Streaming入门案例
  • 《Java初阶数据结构》----4.<线性表---Stack栈和Queue队列>
  • Android SurfaceFlinger——关联EGL三要素(二十七)
  • Unity3D之TCP网络通信(客户端)
  • Kotlin 中 标准库函数
  • 【教学类-69-01】20240721铠甲勇士扑克牌(随机14个数字+字母)涂色(男孩篇)
  • Adobe“加速”创意人士开启设计新篇章
  • 释疑 803-(1)概述 精炼提纯版
  • 人工智能与机器学习原理精解【6】
  • JDK、JRE、JVM之间的关系
  • redis构建集群时,一直Waiting for the cluster to join
  • C++之类与对象(2)
  • 「树形结构」基于 Antd 实现一个动态增加子节点+可拖拽的树
  • ubuntu那些ppa源在哪
  • 20240724-然后用idea创建一个Java项目/配置maven环境/本地仓储配置
  • PaddleOCR-PP-OCRv4推理详解及部署实现(下)
  • 【Golang 面试基础题】每日 5 题(二)
  • 状态模式与订单状态机的实现
  • 【MSP430】MSP430是什么?与STM32对比哪个性能更佳?
  • Win11 操作(四)g502鼠标连接电脑不亮灯无反应
  • 自定义QDialog使用详解