Middle-题目115:71. Simplify Path

原创 2016年05月31日 20:06:22

题目原文:
Given an absolute path for a file (Unix-style), simplify it.

For example,
path = “/home/”, => “/home”
path = “/a/./b/../../c/”, => “/c”
题目大意:
化简一个Unix格式的路径。
题目分析:
显然用堆栈。根据hint里面提到的边界情况做以下处理:
(1) 对多个/和.不作处理
(2) 对..则弹出栈顶元素,如果栈空(已经是根路径)则不处理
(3) 将两个/之间的子串压入堆栈
最后遍历栈,组成最后的目录。如果栈空则输出’/’。
源码:(language:java)

public class Solution {
    public String simplifyPath(String path) {
        String[] paths = path.split("/");
        List<String> list = new LinkedList<String>();
        Stack<String> stack = new Stack<String>();
        for (String str : paths) {
            if (str.equals(""))
                continue;
            else if (str.equals("..")) {
                if(!stack.isEmpty())
                    stack.pop();
                continue;
            }
            else if (str.equals("."))
                continue;
            else
                stack.add(str);
        }
        String result = "";
        for(int i = 0;i<stack.size();i++) {
            result=result+"/"+stack.get(i);
        }
        if(result=="")
            result+="/";
        return result;
    }
}

成绩:
12ms,beats 44.53%,众数12ms,18.84%

版权声明:完整版Leetcode题解请出门左转https://github.com/cmershen1/leetcode/tree/master/docs

LeetCode_71---Simplify Path

Given an absolute path for a file (Unix-style), simplify it. For example, path = "/home/", => "/ho...

Simplify Path Leetcode71

Given an absolute path for a file (Unix-style), simplify it.For example, path = “/home/”, => “/home...

LeetCode - 71. Simplify Path

这道题和罗马数字转换一样,题目的求解方法与背景联系地非常强。基本上的一些规则是,如果遇到.或者“”,就直接跳过;如果遇到..就将上面的一个路径回退。所以根据上面的思想,我们首先用一个Stack存储结果...

LeetCode71 Simplify Path java题解

题目: Given an absolute path for a file (Unix-style), simplify it. For example, path = "/home...

Leetcode 71. Simplify Path

71. Simplify Path Total Accepted: 51951 Total Submissions: 235633 Difficulty: Medium Given an...

LeetCode(71) Simplify Path

题目Given an absolute path for a file (Unix-style), simplify it.For example, path = “/home/”, => “/ho...
  • fly_yr
  • fly_yr
  • 2015年10月03日 14:20
  • 342

[leetcode]71. Simplify Path@Java

https://leetcode.com/problems/simplify-path/#/description Given an absolute path for a fi...

【一天一道LeetCode】#71. Simplify Path

一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder‘s Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (...

LeetCode71——Simplify Path

LeetCode71——Simplify Path 依然是恶心的字符串处理,倒不是有多难,是你不知道他有哪些Sample Input,你得把所有的情况考虑进去。。。 我在做的时候就没有考虑非法输入...

leetCode 71.Simplify Path(化简路径) 解题思路和方法

Simplify Path Given an absolute path for a file (Unix-style), simplify it. For example, path ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Middle-题目115:71. Simplify Path
举报原因:
原因补充:

(最多只允许输入30个字)