71. Simplify Path

Given an absolute path for a file (Unix-style), simplify it.

For example,
path="/home/", =>"/home"
path="/a/./b/../../c/", =>"/c"

tag: stack, deque

class Solution {
    public String simplifyPath(String path) {
        if (path == null || path.length() == 0) return "/";
        LinkedList<String> list = new LinkedList<>();

        for (String str : path.split("/")){
            //System.out.println("str: " + str + " list: " + list.toString());
            if (str.equals("..") && list.size() > 0){
                list.removeLast();
            }
            else if (!str.equals("..") && !str.equals(".") && str != null && str.length() > 0){
                list.add(str);
            }
        }

        StringBuilder sb = new StringBuilder();
        for (String str : list){
            if (str == null || str.length() == 0) continue;
            sb.append("/").append(str);
        }

        return sb.length() > 0 ? sb.toString() : "/";
    }
}

results for ""

    No results matching ""