71. 简化路径
class Solution {
public String simplifyPath(String path) {
//注意:由于.表示当前目录本身
//..表示回到上一级
//所以想到用栈来是实现
Stack<String> stack=new Stack<>();
String[] str=path.split("/");
for(String s:str){
//忽略了字符串为空的情况
/*
补充
isEmpty() 分配了内存空间,值为空,是绝对的空,是一种有值(值 = 空)
"" 分配了内存空间,值为空字符串,是相对的空,是一种有值(值 = 空字串)
null 是未分配内存空间,无值,是一种无值(值不存在)
*/
if(s.isEmpty() || s.equals(".")){
continue;
}else if(s.equals("..")){
if(!stack.isEmpty()){
stack.pop();
}
}else{
stack.push(s);
}
}
return "/"+String.join("/",stack);
}
}