一个检查字符串是否相互旋转的程序?
在这里,我们将看到一个程序,该程序可以判断两个字符串是否彼此旋转。字符串的旋转就像-
假设两个字符串是S1='HELLO'和S2='LOHEL',那么它们是彼此旋转的。将HELLO旋转到左侧三个位置,即为LOHEL。
为了解决这个问题,我们将第一个字符串与其自身连接起来,然后检查第二个字符串是否存在于连接的字符串中。因此,对于HELLO,将是HEL
算法
isRotation(str1,str2)
begin
if lengths of str1, and str2 are not same then return false;
temp := concatenate str1 with str1 itself
if temp contains str2, then
return true
otherwise return false
end示例
#include<iostream>
using namespace std;
bool isRotation(string str1, string str2){
if(str1.length() != str2.length())
return false;
string con_str = str1 + str1;
if(con_str.find(str2) != string::npos){
return true;
} else {
return false;
}
}
main() {
string str1, str2;
cout << "Enter two strings: ";
cin >> str1 >> str2;
if(isRotation(str1, str2)){
cout << "Two strings are rotation of each other";
} else {
cout << "Two strings are not rotation of each other";
}
}输出结果
Enter two strings: STACK CKSTA Two strings are rotation of each other
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短