题目:
题解:
- 由于交错字符串要是
"010101..."
,要么是"101010..."
,所以我们直接统计将字符串s变成前面两种就行了,我们用一个函数solve()
来解决,具体思路见代码。
代码如下:
class Solution {
public:
int solve(const string& s,char c)
{
int cnt=0;
for(auto x:s)
{
// 当前字符和要变成的交错字符串不同的话,进行操作一次
if(c!=x)cnt++;
// c若为0则变为1,c若为1则变为0
c^=1;
}
return cnt;
}
// 题解:交错字符串要么是01 01 01...,要么是10 10 10...
// 所以我们只要统计将s变成上面两种的最小次数就行了
int minOperations(string s) {
return min(solve(s,'0'),solve(s,'1'));
}
};