leetcode 旋轉字串

2021-10-04 03:49:19 字數 531 閱讀 7102

給定兩個字串, a 和 b。

a 的旋轉操作就是將 a 最左邊的字元移動到最右邊。 例如, 若 a = 『abcde』,在移動一次之後結果就是』bcdea』 。如果在若干次旋轉操作之後,a 能變成b,那麼返回true。

採用遞迴的思路進行,每次旋轉1位。思考遞迴終止條件,最多旋轉字串長度次數。

旋轉一位思路:

採用乙個臨時變數來訪問陣列頭部變數,然後從頭到尾遍歷陣列,每乙個都左移,再將臨時變數賦值給陣列尾部元素。這樣我們完成了旋轉一位的操作。

然後我們對比兩個字串,看是否相等。如果到達次數仍然兩個字串不相等,那麼直接返回false。

bool rotatestring

(char

* a,

char

* b)

a[lena-1]

=temp;

for(k=

0;kif(k==lena)

return true;

}return false;

}

LeetCode 字串 左旋轉字串

字串的左旋轉操作是把字串前面的若干個字元轉移到字串的尾部。請定義乙個函式實現字串左旋轉操作的功能。比如,輸入字串 abcdefg 和數字2,該函式將返回左旋轉兩位得到的結果 cdefgab 示例 輸入 s abcdefg k 2 輸出 cdefgab 輸入 s lrloseumgh k 6 輸出 u...

leetcode 判斷旋轉字串

給定s1 aabcd和s2 bcdaa,返回1,給定s1 abcd和s2 acbd,返回0.拿到題目,經過思考其實我們可以將題目的思路轉化為,將s1每次旋轉一次來和s2比較大小,相同則返回1,不同則返回0,將s1旋轉strlen s1 次即可完成比較,這裡其實大家不用考慮左旋還是右旋的問題,因為旋轉...

LeetCode 左旋轉字串

字串的左旋轉操作是把字串前面的若干個字元轉移到字串的尾部。請定義乙個函式實現字串左旋轉操作的功能。比如,輸入字串 abcdefg 和數字2,該函式將返回左旋轉兩位得到的結果 cdefgab 輸入 s abcdefg k 2 輸出 cdefgab 輸入 s lrloseumgh k 6 輸出 umgh...