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

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

Given an absolute path for a file (Unix-style), simplify it.

For example,

path = "/home/", => "/home"
path = "/a/./b/../../c/", => "/c"

public class Solution {    public String simplifyPath(String path) {        /*这道题目是Linux内核中比较常见的一个操作,就是对一个输入的文件路径进行简化。        思路比较明确,就是维护一个栈,对于每一个块(以‘/’作为分界)进行分析,如果遇到‘../’则表示要上一层,那么就是进行出栈操作,        如果遇到‘./’则是停留当前,直接跳过,其他文件路径则直接进栈即可。        最后根据栈中的内容转换成路径即可。        时间上不会超过两次扫描(一次是进栈得到简化路径,一次是出栈获得最后结果),所以时间复杂度是O(n),空间上是栈的大小,也是O(n)。*/        Stack
stack=new Stack
(); int start=0; for(int i=0;i<=path.length();i++){
//注意i的范围。针对这种输入"/home",需要读取到最后一位,所以i可以为len if(i

 

转载于:https://www.cnblogs.com/qiaomu/p/4644198.html

你可能感兴趣的文章
springboot+mybatis报错Invalid bound statement (not found)
查看>>
Linux环境下SolrCloud集群环境搭建关键步骤
查看>>
MongoDB的简单使用
查看>>
【noip2004】虫食算——剪枝DFS
查看>>
java小技巧
查看>>
POJ 3204 Ikki's Story I - Road Reconstruction
查看>>
SQL中Group By的使用
查看>>
两个表格中数据不用是一一对应关系--来筛选不同数据,或者相同数据
查看>>
js05-DOM对象二
查看>>
mariadb BINLOG_FORMAT = STATEMENT 异常
查看>>
Java回顾之多线程
查看>>
机电行业如何进行信息化建设
查看>>
2018 Multi-University Training Contest 10 - Count
查看>>
HDU6203 ping ping ping
查看>>
Fireworks基本使用
查看>>
Java基础常见英语词汇
查看>>
nginx启动、关闭命令、重启nginx报错open() "/var/run/nginx/nginx.pid" failed
查看>>
BZOJ 3097 Hash Killer I
查看>>
UINavigationController的视图层理关系
查看>>
html阴影效果怎么做,css 内阴影怎么做
查看>>