NC205582. 点击消除
描述
输入描述
一个字符串,仅由小写字母组成。(字符串长度不大于300000)
输出描述
一个字符串,为“点击消除”后的最终形态。若最终的字符串为空串,则输出0。
示例1
输入:
abbc
输出:
ac
示例2
输入:
abba
输出:
0
示例3
输入:
bbbbb
输出:
b
C++14(g++5.4) 解法, 执行用时: 27ms, 内存消耗: 612K, 提交时间: 2020-05-17 19:34:49
#include<iostream> using namespace std; char stk[300010]; int main(){ char t; int x=1; cin>>stk[1]; while(cin>>t){ if(stk[x]==t) x--; else stk[++x]=t; } for(int i=1;i<=x;i++) cout<<stk[i]; if(x==0) cout<<0; return 0; }
C++ 解法, 执行用时: 15ms, 内存消耗: 768K, 提交时间: 2021-08-06 19:58:44
#include<bits/stdc++.h> using namespace std; int main() { char c; string s; while(cin >> c) { if(!s.size()||s.back()!=c) s+=c; else s.pop_back(); } if(!s.size()) s+='0'; cout << s; return 0; }
Python3(3.5.2) 解法, 执行用时: 168ms, 内存消耗: 3832K, 提交时间: 2020-05-17 21:05:50
a=input() b=len(a) c=[] for i in range(b): if len(c) and a[i]==c[-1]: c.pop(-1) else: c.append(a[i]) if len(c): print(''.join(c)) else: print(0)