LeetCode_Stack_Simplify Path
来源:互联网 发布:仿淘宝拖拽式模板系统 编辑:程序博客网 时间:2024/06/04 20:12
71. Simplify Path
1. 问题描述:
输入一个目录String,要求简化目录并返回。
2. 解决思路:
题目需要仔细阅读,要求简化路径。所以有几种情况,需要分情况讨论:
- /./ 不做任何目录操作
- /../ 跳到上一级目录
- // 不做任何目录操作
这里我们使用stack存储目录名,然后遇到操作符号 ‘/./’,’/../’,’//’,做相应操作,具体看代码。
3. java代码:
public class Solution { public String simplifyPath(String path) { if(path==null || path.length()==0) return path; String[] pathList = path.split("/"); String result = ""; Stack<String> stack = new Stack<String>(); for(int i=0;i<pathList.length;i++){ if(pathList[i].equals(".")|| pathList[i].length()==0) { continue; } else if(pathList[i].equals("..")) { if(!stack.empty()){ stack.pop(); } } else { stack.push(pathList[i]); } } for(int j=0;j<stack.size();j++){ result +="/"+stack.get(j); } return result=="" ? "/" : result; }}
4. 算法评估:
希望多多指正交流!
0 0
- LeetCode_Stack_Simplify Path
- path
- path
- path
- path
- path:
- path
- “path”,
- PATH
- PATH
- PATH
- path
- path
- path
- PATH
- $PATH
- path
- Path
- XML
- mongodb 学习笔记 08 -- replication复制集
- RS485总线典型电路介绍
- 黑马程序员——Java基础---集合(一)
- 深入 Java 调试体系: 第 1 部分,JPDA 体系概览
- LeetCode_Stack_Simplify Path
- aop切面编程
- [转]ERROR ORA-28002: the password will expire within 7 days 解决方法
- Linux多线程编程(一)---多线程基本编程
- 为什么JDK中String类的indexof不使用KMP或者Boyer-Moore等时间复杂度低的算法编辑器
- 黑马程序员——C语言基础学习(一)---C语言中的基本概念总结
- Linux多线程编程(二)---线程之间的同步与互斥
- 基于Processing的人物八方向移动演示:X,Y,XY同时到达移动
- MaterialCheckBox