zoukankan      html  css  js  c++  java
  • 71. Simplify Path java solutions

    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".
     1 public class Solution {
     2     public String simplifyPath(String path) {
     3         StringBuilder ans = new StringBuilder();
     4         LinkedList<String> s = new LinkedList<String>();
     5         String[] tmp = path.split("/");
     6         
     7         for(String str : tmp){
     8             if("".equals(str) || ".".equals(str)) continue;
     9             else if("..".equals(str)){
    10                 if(!s.isEmpty()) s.pop();
    11             }else
    12                 s.push(str);
    13         }
    14         if(s.isEmpty()) return "/";
    15         while(!s.isEmpty()) ans.append("/"+s.removeLast());
    16         return ans.toString();
    17     }
    18 }

    该题按照提示,将各种情况考虑一下,比较轻松AC。
  • 相关阅读:
    SpringMvc
    Spring-Aop
    Spring-IOC
    Spring模块划分
    队列
    稀疏数组
    数据结构
    Nginx配置实例
    Nginx常用命令
    视频断点播放:h5+jquery
  • 原文地址:https://www.cnblogs.com/guoguolan/p/5626644.html
Copyright © 2011-2022 走看看