AB5. 点击消除
描述
牛牛拿到了一个字符串。输入描述
一个字符串,仅由小写字母组成。(字符串长度不大于300000)输出描述
一个字符串,为“点击消除”后的最终形态。若最终的字符串为空串,则输出0。示例1
输入:
abbc
输出:
ac
示例2
输入:
abba
输出:
0
示例3
输入:
bbbbb
输出:
b
C 解法, 执行用时: 4ms, 内存消耗: 384KB, 提交时间: 2022-08-06
#include<stdio.h> int main(){ char a[300001],*p,b; p=&a[1]; while(1){ b=getchar(); if(b=='\n'){ *p='\0'; break; }else{ *p=b; if(*p==*(p-1)){ p--; }else p++; } } if(a[1]=='\0') printf("0"); else { p=&a[1]; printf("%s",p); } return 0; }
C 解法, 执行用时: 4ms, 内存消耗: 384KB, 提交时间: 2022-07-07
#include<stdio.h> #define max 300000 int main() { char a[max],*p,b;int c; p=a; while(1){ b=getchar(); if(b=='\n'){*p='\0';break;} else {*p=b; if(*p==*(p-1)&&p!=a) { p--; }else p++; } } if(a[0]=='\0')printf("0"); else printf("%s",a); return 0; }
C 解法, 执行用时: 4ms, 内存消耗: 416KB, 提交时间: 2022-07-01
#include<stdio.h> int main() { char str[3000001]; char *p = str; char a; while(1) { a = getchar(); if(a == '\n') { *p = '\0'; break; } *p = a; if(*p == *(p-1)&&p!=str) { p--; continue; } p++; } if('\0'!=str[0]) printf("%s",str); else printf("0"); }
C 解法, 执行用时: 4ms, 内存消耗: 416KB, 提交时间: 2022-06-18
#include <stdio.h> int main(){ char str[3000001]; char *p = str; char a; while(1) { a = getchar(); if('\n' == a ) { *p = '\0'; break; } *p = a; if(*p == *(p-1) && p != str){ p--; continue; } p++; } if('\0' != str[0]) printf("%s" , str); else printf("0"); }
C 解法, 执行用时: 4ms, 内存消耗: 416KB, 提交时间: 2022-04-02
#include <stdio.h> int main(){ char str[3000001]; char *p = str; char a; while(1) { a = getchar(); if('\n' == a ) { *p = '\0'; break; } *p = a; if(*p == *(p-1) && p != str){ p--; continue; } p++; } if('\0' != str[0]) printf("%s" , str); else printf("0"); }