zoukankan      html  css  js  c++  java
  • Simplify Path leetcode

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

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

    click to show corner cases.

    Subscribe to see which companies asked this question

     
    这里我投机取巧,使用了C++自带的getline函数,只需要将每行的分隔符设置为"/",就可以成功将子路径分离出来,如果需要锻炼编程能力的话,最好自己实现下
    string simplifyPath(string path) {
        string str;
        vector<string> strs;
        stringstream ss(path);
        while (getline(ss, str, '/'))
        {
            if (str == "." || str == "")
                continue;
            else if (str == "..") {
                if (!strs.empty())
                    strs.pop_back();
            }        
            else
                strs.push_back(str);
        }
        string ret;
        for (auto s : strs)
            ret += "/" + s;
        return ret.empty() ? "/" : ret;
    }
  • 相关阅读:
    进程同步
    CPU调度
    线程的引入
    进程互斥
    处理器状态
    操作系统
    进程的基本概念
    socket应用
    html笔记
    HTTP基本链接原理
  • 原文地址:https://www.cnblogs.com/sdlwlxf/p/5128284.html
Copyright © 2011-2022 走看看