組合語言中有一種移位指令叫做迴圈左移(rol),現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s=」abcxyzdef」,要求輸出迴圈左移3位後的結果,即「xyzdefabc」。是不是很簡單?ok,搞定它!
做法:有效左移次數 < 字串長度 ===> num %= length
儲存第乙個,剩下的整體前移乙個,第乙個放在最後,完成一次移動,一次能移動,多次也可以
區域性逆置 再整體逆置
雙倍串(不推薦)
法一: 雙迴圈
class
solution
// i= len-1, i的下標已經是最後乙個位置
str[i]
= c;
} string leftrotatestring
(string str,
int n)
int step = n % str.
size()
;// 字串長度不用擔心為0了, 去重
for(
int i =
0; i < step; i++
)return str;}}
;
class
solution
} string leftrotatestring2
(string str,
int n)
int step = n % str.
size()
;// 逆置, 閉區間
reverse
(str,
0, step -1)
;// 下標從0開始, 前半部分字串長度的個數
reverse
(str, step, str.
size()
-1);
reverse
(str,
0, str.
size()
-1);
return str;}}
;
左旋轉字串(字串)
題目描述 組合語言中有一種移位指令叫做迴圈左移 rol 現在有個簡單的任務,就是用字串模擬這個指令的運算結果。對於乙個給定的字串行s,請你把其迴圈左移k位後的序列輸出。例如,字串行s abcxyzdef 要求輸出迴圈左移3位後的結果,即 xyzdefabc 是不是很簡單?ok,搞定它!思路一 pub...
逆置字串問題
這類問題算是比較簡單的了,而我們的思路是從字串兩頭開始,交換內容。在這裡我介紹兩種方法。1.迴圈的方式 2.遞迴的方式 1 迴圈的方式很好理解,就是暴力地進行內容的交換,而交換的規則就是從begin和end兩頭進行內容交換 hehehe e.g.字串 l am a student.我們可以定義乙個指...
python字串逆置 字串逆置演算法
1,輸人 字串 123456 輸出 654321 注意 字元陣列不等於字串,只有當字元陣列結尾加上結束標誌 0 才是字串。所以字串用字元陣列來初始化時,結尾必須加上 0 比如 初始化字串 char ch 7 如下 include include include define maxsize 100 ...