LeetCode Simplify Path

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

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

题意:问最后的路径是什么。

思路:说白了就是字符串的处理。".."的话就pop一个,,字母的话就是push

class Solution {public:string simplifyPath(string path) {vector<string> ans;int i = 0;while (i < path.size()) {int end = i + 1;while (end < path.size() && path[end] != '/') end++;string sub = path.substr(i+1, end-i-1);if (sub.length() > 0) {if (sub == "..") {if (!ans.empty())ans.pop_back();} else if (sub != ".")ans.push_back(sub);}i = end;}if (ans.empty()) return "/";string tmp = "";for (int i = 0; i < ans.size(); i++)tmp += "/" + ans[i];return tmp;}};

呼唤你前往另一个地方,过上另一种生活。

LeetCode Simplify Path

相关文章:

你感兴趣的文章:

标签云: