思路
考虑可能出现的错误,也就只有四种,对于每一种依次处理即可。
删除多余的"/",碰到超过两个“/”在一起就只保留第一个,
删除所有的"/./"
处理"/…/",当“/…/”出现在开头就直接删除,如果在中间就找到“/…/”之前第一个/,删除之间的路径
最后删除末尾的"/"
代码
#include <iostream>
#include <string>
using namespace std;
int P;
string nowP, s; //nowP保存当前目录,s保存之后每个需要正规化的路径
int main()
{
cin >> P >> nowP;
cin.get(); //防止读入换行符
while(P--)
{