71. Simplify Path

Problem:

思路

Solution (C++):

string simplifyPath(string path) {
    string res, tmp;
    vector<string> my_stack;
    stringstream ss(path);
    while (getline(ss, tmp, '/')) {
        if (tmp == "" || tmp == ".")  continue;
        if (tmp == ".." && !my_stack.empty())  my_stack.pop_back();
        else if (tmp != "..")  my_stack.push_back(tmp);
    }
    for (auto str: my_stack) res += "/" + str;
    return res.empty() ? "/" : res;
}

性能

Runtime: 8 ms  Memory Usage: 10.4 MB

相关链接如下:

知乎:littledy

欢迎关注个人微信公众号:小邓杂谈,扫描下方二维码即可

作者:littledy
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/dysjtu1995/p/12300252.html