leetcode--Simplify Path

来源:互联网 发布:教育部网络培训中心 编辑:程序博客网 时间:2024/06/06 13:06

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

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

click to show corner cases.

Corner Cases:

  • Did you consider the case where path = "/../"?
    In this case, you should return "/".
  • Another corner case is the path might contain multiple slashes '/' together, such as"/home//foo/".
    In this case, you should ignore redundant slashes and return "/home/foo".

public class Solution {    public String simplifyPath(String path) {        ArrayList<String> res = new ArrayList<String>();String[] arr = path.split("/");for(int i=0;i<arr.length;i++){if(arr[i].equals("")){continue;}else if(arr[i].equals(".")){continue;}else if(arr[i].equals("..")){int size = res.size();if(size!=0) res.remove(size-1);}else{res.add(arr[i]);}}String str = "";        if(res.size()==0) str="/";for(String p:res){str += "/"+p;}return str;    }}


0 0
原创粉丝点击