---
# System prepended metadata

title: 0071. Simplify Path
tags: [Leetcode, FaceBook, Medium, Stack]

---

# 0071. Simplify Path
###### tags: `Leetcode` `FaceBook` `Medium` `Stack`
Link: https://leetcode.com/problems/simplify-path/
## 思路
用Stack存结果，然后拼起来答案

**有一个很tricky的地方是第二个条件判断，因为如果是"."或".."都不要，所以就直接用"..".contains(s)来做判断**

**然后还有就是把stack里面的元素存到 for example StringBuilder里面的时候，可以不需要用pop，但要注意在建Stack的时候要声明里面放的是String**
## Code
```java=
class Solution {
    public String simplifyPath(String path) {
        Stack<String> stack = new Stack<>();
        StringBuilder sb = new StringBuilder();
        for(String s: path.split("/")){
            if(s.equals("..") && !stack.isEmpty()){
                stack.pop();
            }
            else if(!"..".contains(s)){
                stack.push(s);
            }
        }
        for(String i:stack){
            sb.append("/"+i);
        }
        return sb.length()==0?"/":sb.toString();
    }
}
```
