搜狐笔试第一题本地没问题,OJ一直不行是什么情况
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(int argc, const char * argv[]) {
string path;
vector<string> v;
string tmp;
vector<string> res;
while(cin>>path){
res.clear();
tmp.clear();
v.clear();
//判空
if(path.size()==0){
cout<<endl;
break;
}
//路径
for(int i=0;i!=path.size();i++){
if(path[i]=='/'){
if(tmp.size()!=0){
v.push_back(tmp);
tmp.clear();
}
}
else
tmp+=path[i];
}
if((path[path.size()-1])!='/')
v.push_back(tmp);
//简化
for(int i=0;i!=v.size();i++){
if(v[i]!="."&&v[i]!="..")
res.push_back(v[i]);
else if(v[i]=="."){
;
}else{
res.pop_back();
}
}
cout<<"/";
for(int i=0;i!=res.size()-1;++i)
cout<<res[i]<<"/";
cout<<res[res.size()-1]<<endl;
}
return 0;
}
#搜狐#