leetcode-71-简化路径

题解:

1、以"/"作为分隔符对字符串进行分割得到数组names;

2、初始化一个栈stack(python中的栈使用列表实现);

3、遍历数组names;如果当前元素为".."且栈不为空,则将弹出栈顶元素;如果当前元素不为空且不是".",则将元素入栈即stack.append()。

4、将stack中的元素使用"/"进行拼接并返回。(用"/".join(stack)实现)

备注:该题核心逻辑即当元素为".."时,删除该元素的前一个元素。使用栈实现该逻辑。

代码实现:

相关推荐
小咪一会2 天前
JVM 基础
jvm·1024程序员节
空灵之海6 天前
Ubuntu系统安全合规配置
linux·ubuntu·系统安全·1024程序员节
阿啄debugIT8 天前
装饰(Decorator)模式可以在不修改对象外观和功能的情况下添加或者删除对象功能
软件工程·1024程序员节
lzb_kkk1 个月前
【实习总结】Qt通过Qt Linguist(语言家)实现多语言支持
开发语言·c++·qt·1024程序员节·qt linguist·qt 语言家
Yangy_Jiaojiao2 个月前
三维手眼标定
1024程序员节
guozhetao2 个月前
【图论,拓扑排序】P1347 排序
数据结构·c++·python·算法·leetcode·图论·1024程序员节
lzb_kkk2 个月前
【C++】C++四种类型转换操作符详解
开发语言·c++·windows·1024程序员节
lzb_kkk3 个月前
【MFC】编辑框、下拉框、列表控件
c语言·开发语言·c++·mfc·1024程序员节
lzb_kkk3 个月前
【MFC】树控件的使用详解
开发语言·c++·windows·mfc·1024程序员节
SizeTheMoment4 个月前
List介绍
1024程序员节