劍指offer 左旋字串

2021-09-24 15:04:36 字數 791 閱讀 5450

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

分析:1.自己的思路

分為前後兩個字串,然後兩者拼接起來。。可能比較傻乎乎吧,但是通過了。

2.劍指offer上的推薦思路

與翻轉句子的題思路類似,採用「逆序法」,首先將前半部分反轉,再將後半部分反轉,最後將整體反轉。

注意:

//如果只是讀取字串中的某個字元,只需要str.charat(i);

//如果需要改變字串,則先str.tochararray()把字串變成char陣列再去處理。

//c = str.tochararray();//將字串變數轉換為字元陣列

//str= string.valueof(c );//將字元陣列轉換為字串

public class solution

int count=n%len;

reverse(c,0,count-1);

reverse(c,count,len-1);

reverse(c,0,len-1);

return string.valueof(c);

}public void reverse(char c,int begin,int end)

return;}}

劍指offer 左旋字串

字串的左旋轉操作是把字串前面的若干個字元轉移到字串的尾部。請定義乙個函式實現字串左旋轉操作的功能。比如,輸入字串 abcdefg 和數字2,該函式將返回左旋轉兩位得到的結果 cdefgab 示例 1 輸入 s abcdefg k 2 輸出 cdefgab 示例 2 輸入 s lrloseumgh k...

劍指offer 左旋轉字串

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

劍指offer 左旋轉字串

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