首页 > 代码库 > [LeetCode]71 Simplify Path

[LeetCode]71 Simplify Path

https://oj.leetcode.com/problems/simplify-path/

http://blog.csdn.net/linhuanmars/article/details/23972563

public class Solution {
    public String simplifyPath(String path) {
        if (path == null)
            return null;
        
        String[] paths = path.split("/");
        
        Stack<String> stack = new Stack<>();
        for (String p : paths)
        {
            if (p.equals(".") || p.isEmpty())
            {
                continue;
            }
            
            if (p.equals(".."))
            {
                if (!stack.empty())
                    stack.pop();
            }
            else
            {
                stack.push(p);
            }
        }

        if (stack.empty())
            return "/"; // No path
        
        StringBuilder sb = new StringBuilder();
        while (!stack.empty())
        {
            sb.insert(0, "/" + stack.pop());
        }
        return sb.toString();
    }
}


[LeetCode]71 Simplify Path