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 Solution { public String simplifyPath(String path) { String []strs=path.split("/"); StringBuilder sb=new StringBuilder(""); LinkedList<String> ll=new LinkedList<String>(); for(String str:strs){ if(str.equals(".")) continue; else if(str.equals("..")&&!ll.isEmpty()) { ll.pollLast(); }else if(str.length()>0&&!str.equals("..")){ ll.add(str); } } if(ll.isEmpty())return "/"; for(String str:ll){ sb.append("/"); sb.append(str); } return sb.toString(); } }
原文地址:http://blog.csdn.net/mlweixiao/article/details/41081161