題目:旋轉字串(對串)
描述s[0...n-1]是乙個長度為n的字串,定義旋轉函式left(s)=s[1…n-1]+s[0].比如s=」abcd」,left(s)=」bcda」.乙個串是對串當且僅當這個串長度為偶數,前半段和後半段一樣。比如」abcabc」是對串,」aabbcc」則不是。
現在給你字串,判斷他是否可以由乙個對串旋轉任意次得到。 輸入
第1行:給出乙個字串(字串非空串,只包含小寫字母,長度不超過1000000) 輸出
對於每個測試用例,輸出結果佔一行,如果能,輸出yes,否則輸出no。
樣例輸入1
aaab
樣例輸出1
yesno
思路:乙個個試過去,能分成兩個一樣的子串的就肯定可以,當然字串為奇數的就不用考慮了~~
#include#includeusing namespace std;
int main()
else
}if(t) cout << "yes"<
字串 字串的旋轉
時間複雜度為o m n 空間複雜度為o 1 include include include void leftshiftone char str,int n void leftrotatestring char str,int n,int m int main 輸出 before rotate ab...
左旋轉字串(字串)
題目描述 組合語言中有一種移位指令叫做迴圈左移 rol 現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s abcxyzdef 要求輸出迴圈左移3位後的結果,即 xyzdefabc 是不是很簡單?ok,搞定它!思路一 pub...
字串旋轉
問題 把字串前面的若干個字元移動到字串的尾部。如把字串abcdef前2位字元移到後面得到字串cdefab。要求時間對長度為n的字串操作的複雜度為o n 輔助記憶體為o 1 看到大多數的帖子都是進行三次旋轉 如 個人感覺這思路確實比較新穎,但是總感覺有點麻煩了,個人思路如下 include inclu...