左旋轉字串

2021-10-10 03:12:06 字數 587 閱讀 3698

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

題目很簡單,獲得 n % s 的結果,記為a

a的大小既是有效左移的長度,因為如果n大於s,相當於旋轉了s+a,實際只有a個長度被旋轉

直接將a個長度的字串截斷後拼接至右邊就好了

# -*- coding:utf-8 -*-

class

solution

:def

leftrotatestring

(self, s, n)

:if s =="":

return

"" a = n % s.__len__(

)if a ==0:

return s

else

:return s[a:

]+ s[

:a]

左旋轉字串

題目 定義字串的左旋轉操作 把字串前面的若干個字元移動到字串的尾部。如把字串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...