假设我们有一个二进制字符串。我们的任务是检查字符串是否具有连续的相同字符。如果连续存在相同的字符,则该字符无效,否则有效。那么字符串“ 101010”有效,但“ 10111010”无效。
为了解决这个问题,我们将从左向右遍历,如果两个连续字符相同,则返回false,否则返回true。
#include <iostream> #include <algorithm> using namespace std; bool isConsecutiveSame(string str){ int len = str.length(); for(int i = 0; i<len - 1; i++){ if(str[i] == str[i + 1]) return false; } return true; } int main() { string str = "101010"; if(isConsecutiveSame(str)) cout << "No consecutive same characters"; else cout << "Consecutive same characters found"; }
输出结果
No consecutive same characters