[LeetCode] 71. Simplify Path java
来源:互联网 发布:创维网络电视价格 编辑:程序博客网 时间:2024/05/29 07:38
/**71. Simplify Path * @param path * @returnString */ public String simplifyPath(String path) { Stack<String> s = new Stack<String>(); String[] strs = splitString (path); for (int i = 0; i < strs.length; i++) { if (strs[i].equals(".")) { continue; } else if (strs[i].equals("..")) { if (!s.empty()) { s.pop(); } } else { s.push(strs[i]); } } String ret = ""; while (!s.empty()) { ret = "/" + s.pop() + ret; } if (ret.isEmpty()) { ret = "/"; } return ret; } public String[] splitString(String s) { String temp = ""; Queue<String> arr = new LinkedList<String>(); int count = 0; for (int i = 0; i < s.length(); i++) { if (s.charAt(i) == '/') { if (temp != "") { arr.offer(temp); count++; } temp = ""; } else { temp += s.charAt(i); } } if (temp != "") { arr.offer(temp); count++; } String[] ret = new String[count]; int i = 0; while (!arr.isEmpty()) { ret[i++] = arr.poll(); } return ret; }
//Unix-style的path中: “.”表示当前目录下的子目录,”..”表示返回上一级目录,”…”保留
//首先以’/’拆分字符串,之后用栈来操作,如果..则出栈,最后拼接的时候加上’/’
//Queue: offer(), pop(), isEmpty()
//String比较相等: equals()
0 0
- (Java)LeetCode-71. Simplify Path
- 【leetcode】71. Simplify Path【java】
- [LeetCode] 71. Simplify Path java
- [leetcode]71. Simplify Path@Java
- [Leetcode] Simplify Path (Java)
- [LeetCode][Java] Simplify Path
- LeetCode|Simplify Path-java
- Simplify Path leetcode java
- LeetCode 71. Simplify Path
- LeetCode --- 71. Simplify Path
- [Leetcode] 71. Simplify Path
- [leetcode] 71.Simplify Path
- [leetcode] 71.Simplify Path
- Leetcode 71. Simplify Path
- LeetCode 71. Simplify Path
- Leetcode 71. Simplify Path
- 71. Simplify Path LeetCode
- leetcode 71. Simplify Path
- VS2013+VSRS4.0+OPENCV2.4.13
- 浅析TCP的四种内部计时器
- Linux下VirtualBox虚拟机的命令行启动/关闭方法和开机自动启动
- 3.8妇女节促销怎么玩?H5方案拿走不谢!
- 1013
- [LeetCode] 71. Simplify Path java
- (转)View.inflate和LayoutInflater的inflate方法区别
- maven国内镜像(maven下载慢的解决方法)
- 局部变量返回值问题
- 树---2.遍历
- MFC使用HttpGet和HttpPost方法与服务器通信
- [LeetCode] 58. Length of Last Word java
- 队列
- librtmp 日志的修改和操作