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

Chương trình kiểm tra xem một chuỗi có phải là chuỗi con của chuỗi khác trong C ++ hay không

Giả sử chúng ta có hai chuỗi S và T. Chúng ta phải kiểm tra xem S có phải là dãy con của T hay không.

Vì vậy, nếu đầu vào giống như S ="abc", T ="adbrcyxd", thì đầu ra sẽ là True

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • nếu s giống với t, thì -

    • trả về true

  • n:=kích thước của s, m:=kích thước của t

  • j:=0

  • để khởi tạo i:=0, khi i

    • nếu t [j] giống với s [i] thì -

      • (tăng j lên 1)

    • nếu j giống với kích thước của t, thì -

      • trả về true

  • trả về false

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   bool solve(string t, string s) {
      if(s == t)
      return true;
      int n = s.size();
      int m = t.size();
      int j = 0;
      for(int i = 0; i < n; i++){
         if(t[j] == s[i])
         j++;
         if(j == t.size())
         return true;
      }
      return false;
   }
};
main(){
   Solution ob;
   string S = "abc", T = "adbrcyxd";
   cout << ob.solve(S, T);
}

Đầu vào

"abc", "adbrcyxd"

Đầu ra

1