llllmz

导航

1047. 删除字符串中的所有相邻重复项 c

char* removeDuplicates(char* s) {
    int ns=0;
    while(s[ns]!=0) ns++;
    if(ns<=1) return s;
    char* stack=(char*)malloc(sizeof(char)*ns);
    for(int i=0;i<ns;i++) stack[i]=0;
    int top=0;
    stack[0]=s[0];
    for(int i=1;i<ns;i++){
        if(top!=-1 && s[i]==stack[top]){
            stack[top--]=0;
        }else{
            stack[++top]=s[i];
        }
    }
    return stack;
}

结果:

posted on 2024-02-29 19:31  神奇的萝卜丝  阅读(19)  评论(0)    收藏  举报