【LeetCode】Simplify Path实现(Java版)
来源:互联网 发布:腾讯云域名有啥用 编辑:程序博客网 时间:2024/06/05 19:42
描述
Given an absolute path for a file (Unix-style), simplify it.
For example,
path = "/home/", => "/home"
Given an absolute path for a file (Unix-style), simplify it.
For example,
path = "/home/", => "/home"
path = "/a/./b/../../c/", => "/c"
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".
package String;import java.util.Vector;public class SimplifyPath {public static String Solution(String path){Vector<String> dirs = new Vector<String>();;for(int i = 0; i != path.length()-1;){++i;int j = path.indexOf("/", i);if(j == -1){if(!(path.substring(i).equalsIgnoreCase("..")))dirs.add(path.substring(i));break;}String dir = path.substring(i,j);if(!dir.equalsIgnoreCase("") && !dir.equalsIgnoreCase(".")){if(dir.equalsIgnoreCase("..")){if(dirs.size() != 0)dirs.remove(dirs.size()-1);}elsedirs.add(dir);}i = j;}String out = "";if(dirs.size() == 0){out = "/";}else{for(String dir:dirs){out = out + "/" + dir;}}return out;}public static void main(String[] args){String path = "/../";String path1 = "/home//foo/";String path2 = "/home/foo/";String path3 = "/home/foo";String path4 = "/home/";String path5 = "/";String path6 = "/..";String path7 = "/a/./b/../../c/";String path8 = "/a/./b/../c/";System.out.println(Solution(path));System.out.println(Solution(path1));System.out.println(Solution(path2));System.out.println(Solution(path3));System.out.println(Solution(path4));System.out.println(Solution(path5));System.out.println(Solution(path6));System.out.println(Solution(path7));System.out.println(Solution(path8));}}
0 0
- 【LeetCode】Simplify Path实现(Java版)
- [Leetcode] Simplify Path (Java)
- [LeetCode][Java] Simplify Path
- LeetCode|Simplify Path-java
- Simplify Path leetcode java
- (Java)LeetCode-71. Simplify Path
- 【leetcode】71. Simplify Path【java】
- [LeetCode] 71. Simplify Path java
- [leetcode]71. Simplify Path@Java
- LeetCode(71) Simplify Path
- LeetCode 题解(16): Simplify Path
- LeetCode:简化路径(Simplify Path)
- LeetCode 71. Simplify Path(简化路径)
- LeetCode刷题(38)--Simplify Path
- LeetCode: Simplify Path
- LeetCode Simplify Path
- LeetCode : Simplify Path
- [Leetcode] Simplify Path
- 异常
- R语言绘制RSI交叉线
- codeforces 677c Vanya and Label
- 通过HttpURLConnection模拟post表单提交
- 正则表达式收集(持续更新)
- 【LeetCode】Simplify Path实现(Java版)
- 大数据:一张图让你明白什么是大数据
- TransactionTemplate 事物模版
- Python 方法调用机制
- leetcode06- ZigZag Conversion之Java版本
- 解决linux下qt4中文乱码问题
- android之ScrollView里嵌套ListView或GridView解决冲突
- 驱动模块中EXPORT_SYMBOL和EXPORT_SYMBOL_GPL
- POJ 2689-Prime Distance(区间素数)