文章

25

粉丝

0

获赞

27

访问

1.4k

头像
路径解析 题解:暴力处理字符串
P1710 中国海洋大学机试题
发布于2026年2月20日 19:37
阅读数 46

#include <bits/stdc++.h>
using namespace std;
int n;
string curPath;//当前路径
string s;

//处理绝对路径
void dealWithAbsolutePath(string& s){
    for(size_t index=s.find("/.");index!=string::npos;index=s.find("/.")){
        //上一层目录
        if(s[index+2]=='.'){
            s.erase(index+1,2);
            //删除当级目录
            bool del_yes=false;//表示是否删除过
            while(!del_yes){
                index--;
                if(s[index]!='/'){
                    s.erase(index,1);
                    //删除完成
                    if(s[index-1]=='/')
                        del_yes=true;
                }
                //没有上一级,无需删除
                if(index==0&&s[index]=='/')
                    del_yes=true;
            }
        }
        //当前目录
        else
            s.erase(index+1,1);
    }
    //去掉多余的斜杠
    for(size_t index=s.find("//");index!=string::npos;index=s.find("//"))
        s.erase(index,1);
    //把最后一个斜杠去掉
    int len=s.size...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发