标签:leetcode
Given an absolute path for a file (Unix-style), simplify it.
For example,
path = "/home/"
, => "/home"
path = "/a/./b/../../c/"
, => "/c"
"/../"
?"/"
.‘/‘
together,
such as "/home//foo/"
."/home/foo"
.public class SimplifyPath { public static void main(String[] args) { String ret = new SimplifyPath().simplifyPath("/a/./b/../../c/"); System.out.println("result:"+ret); } public String simplifyPath(String path) { String[] params = path.split("/"); Stack<String> stack = new Stack<String>(); for(String param : params){ if(param.equals("..")) stack.pop(); else if(!param.equals("..") && !param.equals(".") && !param.equals("")) stack.push(param); } StringBuilder builder = new StringBuilder(); for(String str :stack) builder.append("/"+str); return stack.isEmpty() ? "/":builder.toString(); } }
标签:leetcode
原文地址:http://blog.csdn.net/laozhaokun/article/details/41317153