Computer >> Máy Tính >  >> Lập trình >> C ++

Kiểm tra xem một chuỗi nhị phân có chứa các chuỗi liên tiếp giống nhau hay không trong C ++

Giả sử chúng ta có một chuỗi nhị phân. Nhiệm vụ của chúng ta là kiểm tra xem chuỗi có các ký tự giống nhau liên tiếp hay không. Nếu có các ký tự giống nhau liên tiếp thì ký tự đó không hợp lệ, ngược lại thì hợp lệ. Khi đó chuỗi “101010” là hợp lệ, nhưng “10111010” là không hợp lệ.

Để giải quyết vấn đề này, chúng ta sẽ chuyển từ trái sang phải, nếu hai ký tự liên tiếp giống nhau thì trả về false, ngược lại là true.

Ví dụ

#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";
}

Đầu ra

No consecutive same characters