LeetCode-Simplify Path
来源:互联网 发布:教育管理硕士 知乎 编辑:程序博客网 时间:2024/06/05 15:22
作者:disappearedgod
文章出处:http://blog.csdn.net/disappearedgod/article/details/39377785
时间:2014-9-18
题目
Simplify Path
Total Accepted: 12257 Total Submissions: 61429My SubmissionsGiven an absolute path for a file (Unix-style), simplify it.
For example,
path = "/home/"
, => "/home"
path = "/a/./b/../../c/"
, => "/c"
click to show corner cases.
Corner Cases:
- Did you consider the case where path =
"/../"
?
In this case, you should return"/"
. - Another corner case is the path might contain multiple slashes
'/'
together, such as"/home//foo/"
.
In this case, you should ignore redundant slashes and return"/home/foo"
.
想法
代码
public class Solution { public String simplifyPath(String path) { if(path == null || path.length() == 0) return ""; int l = path.length(); StringBuffer sb = new StringBuffer(); Stack<String> stack = new Stack<String>(); int decrease = 0; for(int i = 0; i < l; ++i){ if(path.charAt(i) != '/') sb.append(path.charAt(i)); else{ if(sb.length() != 0) stack.push(sb.toString()); sb = new StringBuffer(); } } if(sb.length() != 0) stack.push(sb.toString()); String res =""; for(int i = stack.size(); i > 0; --i){ String tmp = stack.pop(); if(tmp.equals("..")){ decrease--; } else if(tmp.equals(".")){ } else{ if(decrease < 0) { decrease ++; } else{ if(tmp.length() != 0) if(res.length() == 0) res = tmp; else res = tmp + "/" + res; } } } return "/" + res; } }
结果
My Submissions for Simplify Path
返回
LeetCode Solution(持续更新,java>c++)
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
- hdu 2035 人见人爱A^B (快速幂取模)
- UIPageControl
- IOS应用审核的时隐私政策模板
- 软件系统分析师与架构师技能大PK(您具备了哪些呢?)
- 第一章绪论
- LeetCode-Simplify Path
- phpcms系统类库与函数调用
- common
- POJ 2897 Dramatic Multiplications
- 命令行编译cocos2d-x遇到的问题。
- UIActivityIndicatorView、UIProgressView 活动与进度指示器-IOS开发
- hdu 3791 二叉搜索树
- Twisted服务器开发技巧(1)
- IOS开发之网络开发工具