劍指offer58 (2)左旋轉字串

2021-09-29 20:22:59 字數 523 閱讀 8752

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

首先要明確一點,長度為6的字串,左移1位和左移7位是一樣的結果。

其實就是將前k(kclass

solution

};翻轉

將全部的字元翻轉,再將後半部分和前半部分分別翻轉。

#include

class

solution

};

二刷

基本思想:部分翻轉再整體翻轉

注意:**中要特別判斷,字串長度為0,和 n = 0的情況,因為二者中有乙個是0的時候這個**n %= str.length()會出現浮點錯誤;

class

solution

};

劍指offer 面試題58(2) 左旋轉字串

組合語言中有一種移位指令叫做迴圈左移 rol 現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s abcxyzdef 要求輸出迴圈左移3位後的結果,即 xyzdefabc 解法1 開闢乙個新的陣列來存放左移後會溢位的字串 新...

劍指offer 左旋轉字串

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

劍指offer 左旋轉字串

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