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

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

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

For example,

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

 

注意:题目中已限定是absolute path - contains the root directory and all other subdirectories in which a file or folder is contained.

class Solution {public:    string simplifyPath(string path) {        stack
pathStack; string splitPath = path; string curPath; string ret=""; int pos = 0;//absolute path, so path[0]=='/' while(pos!=string::npos && pos+1 < splitPath.length()){ splitPath = splitPath.substr(pos+1); pos = splitPath.find_first_of('/'); if(pos!=0){ //ignore second '/' curPath = splitPath.substr(0,pos); if(curPath=="."){
//ignore './' } else if(curPath==".." ){ //ignore '/..' if(!pathStack.empty()) pathStack.pop(); } else{ //除了"."以及".."以外的都是文件名,比如"..." pathStack.push(curPath); } } } if(pathStack.empty()) return "/"; while(!pathStack.empty()){ ret = "/" + pathStack.top() + ret; pathStack.pop(); } return ret; }};

 

转载于:https://www.cnblogs.com/qionglouyuyu/p/4854127.html

你可能感兴趣的文章
H5 调用手机摄像机、相册功能
查看>>
Google Closure Compiler 高级模式及更多思考(转)
查看>>
python--闭包函数、装饰器
查看>>
【坑】linux目录软连接的相关操作--很容易误操作
查看>>
Phpstorm中使用SFTP
查看>>
stm32中字节对齐问题(__align(n),__packed用法)
查看>>
like tp
查看>>
分布式系统事务一致性解决方案
查看>>
开启一个项目如何上传到git
查看>>
ie文本框内容不居中问题
查看>>
利用grub2制作多启动U盘
查看>>
MQTT的学习研究(十三) IBM MQTTV3 简单发布订阅实例
查看>>
使用 github Pages 服务建立个人独立博客全过程
查看>>
posix多线程有感--线程高级编程(线程属性函数总结)(代码)
查看>>
spring-使用MyEcilpse创建demo
查看>>
JavaScript -- 数据存储
查看>>
DCDC(4.5V to 23V -3.3V)
查看>>
kettle导数到user_用于left join_20160928
查看>>
activity 保存数据
查看>>
typescript深copy和浅copy
查看>>