博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
71. Simplify Path
阅读量:5260 次
发布时间:2019-06-14

本文共 1160 字,大约阅读时间需要 3 分钟。

/*     * 71. Simplify Path     * 2016-5-10 by Mingyang     * 这是一道简化路径的题,路径简化的依据是:     * 当遇到“/../"则需要返回上级目录,需检查上级目录是否为空。     * 当遇到"/./"则表示是本级目录,无需做任何特殊操作。      * 当遇到"//"则表示是本级目录,无需做任何操作。     * 当遇到其他字符则表示是文件夹名,无需简化。     * 当字符串是空或者遇到”/../”,则需要返回一个"/"。     * 当遇见"/a//b",则需要简化为"/a/b"     * 我的思路是先把所有的按照/分割开来     * 当字符串不为"..",则将字符串入栈。     * 当字符串为"..", 则弹栈(返回上级目录)     * 最后使用StringBuilder进行拼接,由于String在每次对字符串修改时候均会生成一个新的String,     * 效率较低,一般会采用StringBuilder或者StringBuffer来进行字符串修改的操作,     * StringBuilder是StringBuffer的简易替换,是非线程安全的,而StringBuffer是线程安全的。     */    public String simplifyPath(String path) {        if(path == null||path.length()==0)            return path;              Stack
stack = new Stack
(); String[] list = path.split("/"); for(int i=0; i
temp = new Stack
(); while(!stack.isEmpty()) temp.push(stack.pop()); while(!temp.isEmpty()) res.append("/"+temp.pop()); if(res.length()==0) res.append("/"); return res.toString(); }

 

转载于:https://www.cnblogs.com/zmyvszk/p/5480633.html

你可能感兴趣的文章
typeset shell 用法
查看>>
python 之 循环语句
查看>>
心得25--JDK新特性9-泛型1-加深介绍
查看>>
[转]ceph网络通信模块_以monitor模块为例
查看>>
HDOJ 1754 I Hate It(线段树基本操作)
查看>>
latex tree
查看>>
安装NVIDIA驱动时禁用自带nouveau驱动
查看>>
HDU-1255 覆盖的面积 (扫描线)
查看>>
css3学习01
查看>>
【USACO】 奶牛会展
查看>>
ActiveMQ笔记之点对点队列(Point-to-Point)
查看>>
继承和多态
查看>>
Dijkstra+计算几何 POJ 2502 Subway
查看>>
修复IE不能执行JS的方法
查看>>
程序员究竟该如何提高效率zt
查看>>
希尔排序法(缩小增量法)
查看>>
PHP编程基础学习(一)——数据类型
查看>>
MongoDB-JAVA-Driver 3.2版本常用代码全整理(2) - 查询
查看>>
NPOI处理Word文本中上下角标
查看>>
Android笔记 Handler
查看>>