llllmz

导航

844. 比较含退格的字符串C

这题学到了很多。

malloc后要初始化。

申请字符串要N+1个单位

字符串以0结尾等等

char* final(char* s,int n){
    char* tem=(char*)malloc(sizeof(char)*(n+1));
    for(int i=0;i<=n;i++) {
        tem[i] =0;
    }
    int j=0;
    for(int i=0;i<n;i++){
        if(s[i]=='#'){
            if(j>0) j--;
            tem[j]=0;
        }else{
            tem[j++]=s[i];
        }
    }
    return tem;
}

bool backspaceCompare(char* s, char* t) {
    if(strstr(s,t)) return true;
    int ns=0,ts=0;
    while(s[ns]!=0){
        ns++;
    }
    while(t[ts]!=0){
        ts++;
    }
    if(strcmp(final(s,ns),final(t,ts))==0){
        return true;
    } 
    return false;
}

结果:

 

posted on 2024-02-27 13:15  神奇的萝卜丝  阅读(18)  评论(0)    收藏  举报