LeetCode 71. Simplify Path

来源:互联网 发布:淘宝男士机械手表 编辑:程序博客网 时间:2024/06/07 06:23

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

For example,
path = "/home/", => "/home"

path = "/a/./b/../../c/", => "/c"

简化unix的路径符号,/..是返回上一级,/.是保持当前目录,需要做的就是字符串的判断,要有equals来判断

import java.util.Stack;public class Solution {    public String simplifyPath(String path) {        if(path==null||path.length()==0)return path;        Stack<String> s = new Stack<String>();        String[]w = path.split("/");        for(int i=0;i<w.length;i++){            if(w[i].equals(".")||w[i].length()==0)continue;            if(w[i].equals("..")){                if(!s.isEmpty())s.pop();            }            else s.push(w[i]);        }        Stack<String>t = new Stack<String>();        while(!s.isEmpty()){            t.push("/"+s.pop());        }        if(t.isEmpty()){            t.push("/");        }        StringBuilder sb = new StringBuilder();        while(!t.isEmpty()){            sb.append(t.pop());        }        return sb.toString();    }}


原创粉丝点击