LeetCode Simplify Path
来源:互联网 发布:门窗cad制图软件 编辑:程序博客网 时间:2024/06/17 15:18
LeetCode解题之Simplify Path
原题
化简Unix系统下一个文件的绝对路径。
注意点:
- 根目录的上层目录还是根目录
- 可能有多个分隔符同时使用
例子:
输入: path = “/a/./b/../../c/”
输出: “/c”
解题思路
用栈来处理,碰到有效字符就压栈,遇到上层目录字符”..”且栈不空时就弹出。为了最后连接字符串时头上有根目录,在栈底加一个空字符。
AC源码
class Solution(object): def simplifyPath(self, path): """ :type path: str :rtype: str """ parts = path.split("/") result = [''] for part in parts: if part: if part not in ('.', '..'): if len(result) == 0: result.append('') result.append(part) elif part == '..' and len(result) > 0: result.pop() if len(result) < 2: return "/" else: return "/".join(result)if __name__ == "__main__": assert Solution().simplifyPath("/a/./b/../../c/") == '/c' assert Solution().simplifyPath("/home/") == "/home" assert Solution().simplifyPath("/../../") == "/"
欢迎查看我的Github (https://github.com/gavinfish/LeetCode-Python) 来获得相关源码。
0 0
- LeetCode: Simplify Path
- LeetCode Simplify Path
- LeetCode : Simplify Path
- [Leetcode] Simplify Path
- [leetcode] simplify path
- [LeetCode] Simplify Path
- leetcode 100: Simplify Path
- [leetcode]Simplify Path
- [LeetCode]Simplify Path
- [leetCode] Simplify Path
- [leetcode]Simplify Path
- [leetcode] Simplify Path
- [LeetCode] Simplify Path
- leetcode simplify path
- Leetcode: Simplify Path
- LeetCode题解:Simplify Path
- [LeetCode] Simplify Path
- LeetCode Simplify Path
- spring-oauth集成cas单点登录,登陆完成进入授权页面后,按回退按钮进入404页面的问题
- PLSQL插入数据中文乱码的问题
- 安卓获取网页源码
- spring-oauth集群负载的cas单点登出问题
- spring oauth重复点击授权后报错Cannot approve uninitialized
- LeetCode Simplify Path
- Apache2日志格式
- mongodb在java中的分页查询
- spark源码走读(1)
- 使用AOP 实现Redis缓存注解,支持SPEL(转)
- 电脑同时开有线和无线,优先使用哪个?
- ES6学习——迭代器(Iterators):内置可迭代对象汇总
- Spring Boot 环境变量读取 和 属性对象的绑定
- Ubuntu配置Mysql