前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Leetcode 71 Simplify Path

Leetcode 71 Simplify Path

作者头像
triplebee
发布2018-01-12 15:00:28
4540
发布2018-01-12 15:00:28
举报
文章被收录于专栏:计算机视觉与深度学习基础

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

For example, path = "/home/", => "/home"

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

路径化简,.表示当前目录..表示上一级目录。

模拟一下,也可以用栈做。注意边界情况

Corner Cases:

  • Did you consider the case where path = "/../"? In this case, you should return "/".
  • Another corner case is the path might contain multiple slashes '/' together, such as "/home//foo/". In this case, you should ignore redundant slashes and return "/home/foo".
代码语言:javascript
复制
class Solution {
public:
    string simplifyPath(string path) {
        string result,temp;
        vector<string> s;
        path+='/';
        for(int i=0;i<path.size();i++)
        {
            if(path[i]=='/')
            {
                if(temp=="" || temp==".")
                {
                }
                else if(temp=="..")
                {
                    if(!s.empty()) s.pop_back();
                }
                else
                    s.push_back(temp);
                temp="";
            }
            else
                temp+=path[i];
        }
        if(!path.empty() && s.empty()) result+='/';
        for(int i=0;i<s.size();i++) result+='/'+s[i];
        return result;
    }
};
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-09-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档