【LeetCode】71.简化路径

devtools/2024/10/18 8:22:16/

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.ppmy.cn/devtools/85904.html

相关文章

测试——Selenium

内容大纲: 什么是自动化测试 什么是Selenium Selenium工作原理 Selenium环境搭建 Selenium API 目录 1. 什么是自动化测试 2. 什么是Selenium 3. Selenium工作原理 4. Selenium环境搭建(java) 5. Selenium API 5.1 定位元素 5.1.1 CSS选择器定位元素 5.1.2 XPath定位元…

鸿蒙(API 12 Beta2版)【创建NDK工程】

创建NDK工程 下面通过DevEco Studio的NDK工程模板&#xff0c;来演示如何创建一个NDK工程。 说明 不同DevEco Studio版本的向导界面、模板默认参数等会有所不同&#xff0c;请根据实际工程需要&#xff0c;创建工程或修改工程参数。 通过如下两种方式&#xff0c;打开工程创…

信息安全工程师下午题

试题一(共 20 分) 阅读下列说明和图&#xff0c;回答问题 1 至问题 5&#xff0c;将解答填入答题纸的对应栏内。【说明】已知某公司网络环境结构主要由三个部分组成&#xff0c;分别是 DMZ 区、内网办公区和生产区&#xff0c;其拓扑结构如图 1-1 所示。信息安全部的王工正在按…

数据结构与算法--【数组2】力扣练习 || 双指针 / 移除元素 / 数组排序

注意&#xff1a;官方说法&#xff0c;快慢指针就是双指针。我在文章用两种不同的叫法&#xff0c;主要是根据字面意思更好的区分两个指针初始的指向&#xff0c;以便更快确定算法怎么写。 一、移除元素 对于数组来说&#xff0c;移除元素只是进行元素的“覆盖”。 解法&…

hicp学习 VRRP选举过程、MSTP+VRRP混合组网

VRRP 的选举规则 1、先比优先级&#xff0c;越大越优先&#xff0c;默认优先级是100.范围 0-255&#xff0c;可配置的范围是1-254。0和255这两个优先级是保留的不配置 0&#xff1a;用来告诉 Backup 立即成为 Master。一般是 Master 设备主动退出 VRRP 组&#xff08;人为删除…

RuoYi-Vue 全新 Pro 版本:清除url地址栏路由参数

问题&#xff1a;当前页面保存数据后&#xff0c;要清空当前地址栏的参数。 页面A开始跳转到B //页面A跳转this.$router.push({path: "你的path",query: {id: id,},}); 页面B开始接收数据 //页面B&#xff0c;在你需要的地方进行接收 this.$route.query.id 当点…

高效能程序员的9个习惯

最近看了一本关于敏捷软件开发实践的指南&#xff0c;他文中主要是在帮助软件开发者和团队提升工作效率、提高产品质量&#xff0c;并建立良好的工作文化和协作模式。以下是根据目录整理出的一段总结&#xff1a; 书名&#xff1a;《敏捷之道》 本书深入探讨了敏捷开发的核心原…

【Langchain大语言模型开发教程】评估

&#x1f517; LangChain for LLM Application Development - DeepLearning.AI 学习目标 1、Example generation 2、Manual evaluation and debug 3、LLM-assisted evaluation 4、LangChain evaluation platform 1、引包、加载环境变量&#xff1b; import osfrom dotenv imp…