左旋轉字串

2021-10-01 06:43:19 字數 776 閱讀 4663

組合語言中有一種移位指令叫做迴圈左移(rol),現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s=」abcxyzdef」,要求輸出迴圈左移3位後的結果,即「xyzdefabc」。是不是很簡單?ok,搞定它!

上一道題目,我們是先整體翻轉,然後再用空格分割,對子字串分段翻轉。

這裡其實可以反過來,利用給定的n將字串分割為兩個部分,先對這兩個子字串進行翻轉,然後再對整個字串進行翻轉即可。

這道題目的異常情況有點多,因為有兩個可能會出現異常情況的引數,我一開始就陷入了異常情況的沼澤,出不來了。其實在考慮引數的異常情況的時候,可以考慮到底是異常的情況多,還是正常的情況多。如果異常情況多,那就將程式執行的判斷條件寫成如果是滿足什麼條件再執行;如果是正常條件多,那就先將那些異常情況剔除,然後再開始執行程式。

public

class

solution

return result;

}private string reverse

(string str,

int start,

int end)

else

stringbuilder sb =

newstringbuilder

(str)

;while

(i < j)

return sb.

tostring()

;}}

左旋轉字串

題目 定義字串的左旋轉操作 把字串前面的若干個字元移動到字串的尾部。如把字串abcdef左旋轉2位得到字串cdefab。請實現字串左旋轉的函式。要求時間對長度為n的字串操作的複雜度為o n 輔助記憶體為o 1 思想 旋轉三次 include include using namespace std v...

左旋轉字串

package com.string 旋轉字串 q 26 左旋轉字串 題目 定義字串的左旋轉操作 把字串前面的若干個字元移動到字串的尾部。如把字串abcdef左旋轉2位得到字串cdefab。請實現字串左旋轉的函式。要求時間對長度為n的字串操作的複雜度為o n 輔助記憶體為o 1 public cla...

左旋轉字串

如abc,左旋1得到bca,左旋2得到cab o n k 的演算法 include using namespace std include include include include include include include include include include int main...