互為旋轉詞

2021-08-03 21:17:07 字數 568 閱讀 5919

如果對於乙個字串a,將a

的前面任意一部分挪到後邊去形成的字串稱為

a的旋轉詞。比如

a="12345",a

的旋轉詞有

"12345","23451","34512","45123"

和"51234"

。對於兩個字串a和

b,請判斷a和

b是否互為旋轉詞。

給定兩個字串a和b及他們的長度lena,lenb,請返回乙個bool

值,代表他們是否互為旋轉詞。

比如:"cdab",4,"abcd",4

返回:true

思路:將兩個相同的字串a合併出乙個字串,那麼如果與字串b是互為旋轉詞,a必定包含b。

常規解法:

class rotation 

};

kmp解法:

class rotation

int kmp(const string s,const string t)

i = 0;

j = 0;

while( i

兩串旋轉 是否互為旋轉詞

如果對於乙個字串a,將a的前面任意一部分挪到後邊去形成的字串稱為a的旋轉詞。比如a 12345 a的旋轉詞有 12345 23451 34512 45123 和 51234 對於兩個字串a和b,請判斷a和b是否互為旋轉詞。給定兩個字串a和b及他們的長度lena,lenb,請返回乙個bool值,代表他...

判斷兩個字串是否互為旋轉詞

from 牛客 旋轉詞的定義為兩個字串組成字元相同,只是字元排序不同。比如字串abcd旋轉詞為bcda,cdab,dabc三個。以下為兩個實現方法。兩種實現方法的思考的關鍵點都是如何獲取旋轉詞。首先找旋轉詞的特點,是原字串的首個字元放在最後不斷形成的,所以如果將兩個原字串拼在一起,就可以發現所有旋轉...

判斷兩個字串是否互為旋轉詞

題目 如果乙個字串str,把字串str前面任意的部分挪到後面形成的字串叫作str的旋轉詞。比如str 12345 str的旋轉詞 有 12345 23451 34512 45123 和 51234 給定兩個字串a和b,請判斷a和b是否互為旋轉詞。若a和b長度不相等,則a和b必然不互為旋轉詞,直接返回...