题目:
题意:
在输入的字符串中只有 "^^" 和 "^_^" 两种字符串是合法的,请输出最少的操作数让字符串边成合法字符串。
题解:
- 这个题目要处理的地方就是在字符是 "_" 的时候,判断一下在这个字符之前的字符是否是 "^" ,如果不是就要进行一次操作。
- 特殊判断:在字符串的长度是1的时候,判断一下 "^" 的情况。
代码:
#include<bits/stdc++.h>
using namespace std;
int main() {
int n;
cin>>n;
getchar();
while(n--){
string a;
cin>>a;
stack<char> b;
int ans=0;
for(int i=1;i<a.size();i++){
if(a[i]=='_'&&a[i-1]=='_'){
ans++;
}
}
if(a[0]=='_'){
ans++;
}
if(a[a.size()-1]=='_'){
ans++;
}
if(a.size()==1){
if(a[0]=='^'){
ans++;
}
}
cout<<ans<<endl;
}
return 0;
}