[LeetCode]Simplify Path
来源:互联网 发布:淘宝今年双十一销售额 编辑:程序博客网 时间:2024/04/29 23:00
Given 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) { Stack<String> stack = new Stack<>(); for(int i=0;i<path.length();){ int j = path.indexOf("/",i); if(j==-1){ String s = path.substring(i,path.length()); if(!s.equals(".")&&!s.equals("..")){ stack.push(s); } if(s.equals("..")&&!stack.isEmpty()) stack.pop(); break; } if(i==j){ i++; continue; } String str = path.substring(i, j); if(!str.equals(".")){ if(str.equals("..")){ if(!stack.isEmpty()) stack.pop(); }else{ stack.push(str); } } i=j; } if(stack.isEmpty()) return "/"; StringBuilder sb = new StringBuilder(); while(!stack.isEmpty()){ sb.insert(0, "/"+stack.pop()); } return sb.toString(); }}
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
- stb linux 系统参数调整
- Android中读取磁盘信息和权限问题
- csdn的windows live writer xmlrpc地址
- 大牛链接
- 5分钟理解 Javascript 闭包
- [LeetCode]Simplify Path
- Lucene中使用高效压缩来压缩stored fields
- cf cmp!
- 后年将有60亿部手机!
- 推荐一个拥有大量开源项目和开发工具的网站
- Opencv对加载图像时路径格式转换
- python解析搜狗网页源代码:取搜索引擎返回的前page_num*10个链接的url(待续)
- wap 机试 旅行家问题
- 排序算法之三----选择排序