题目描述:给你一个含有相对路径的path,求绝对路径。

e7bbbaa8db8c830fdd560e25317258b5.png
#include <iostream>
#include <string>
#include <stack>

using namespace std;

int main()
{
  string path;
  string tmp;
  cin >> path;
  stack<string> stack1;
  int len = path.size();

  for(int i = 0; i < len ;++i)
  {
    if(path[i] == '/')
    {
      if(tmp == "..")
      {
        stack1.pop();
      }
      else if(tmp != "." && tmp != "")
      {
        stack1.push(tmp);
      }
      tmp = "";
    }
    else
    {
      tmp += path[i];
      if(i == len -1)
      {
        stack1.push(tmp); 
      }
    }
  }

  stack<string> stack2;
  while(!stack1.empty())
  {
    stack2.push(stack1.top());
    stack1.pop();
  }
  string newpath = "";
  while(!stack2.empty())
  {
    newpath = newpath + "/" + stack2.top();
    stack2.pop();
  }
  cout << newpath << endl;
  
  return 0;
}

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐