演算法題 字串旋轉

2021-08-20 06:04:39 字數 1014 閱讀 3963

對於乙個字串,和字串中的某一位置,請設計乙個演算法,將包括i位置在內的左側部分移動到右邊,將右側部分移動到左邊。

給定字串a和它的長度n以及特定位置p,請返回旋轉後的結果。

測試樣例:

「abcdefgh」,8,4

返回:」fghabcde」

正常解法

1.用 「[ ]」按特定位置訪問逐字元拷貝

class stringrotation 

b[j]='\0';

return b ;

}};

2.三次逆序。

第一、二次分別reverse左、右兩部分。

第二次整體reverse。

string rotatestring(string a, int n, int p)
直接呼叫reverse函式

string rotatestring(string a, int n, int p)
3.呼叫庫函式

class stringrotation 

};

甚至這樣調的

class stringrotation 

};

同樣的道理

class stringrotation 

};

基本都換湯不換藥

class

stringrotation

};

4.python解,基本同理,字串放入乙個list中,然後運用list切片操作

class

stringrotation:

defrotatestring

(self, a, n, p):

# write code here

return a[p + 1:n] + a[:p+1]

演算法題 字串解碼

1,給定乙個字串,目標是將寫在 和 之間的字串,重複 號前面的數字次數 數字只會是個位數 2,例如 輸入結果 strs he3 llo world 輸出結果 res hellollolloworld 輸入結果 strs he3 ll2 o wo rld 輸出結果 res helloowolloowo...

演算法題 字串空格替換

描述 請編寫乙個方法,將字串中的空格全部替換為 20 假定該字串有足夠的空間存放新增的字元,並且知道字串的真實長度 小於等於1000 同時保證字串由大小寫的英文本母組成。給定乙個string inistring 為原始的串,以及串的長度 int len,返回替換後的string。測試樣例 mr jo...

演算法題 字串反轉集合

看到網上的面經,有下面這樣一道演算法題。我看到第一眼有那麼點思路的,必須要自己code下。給定乙個字串s i am a student 使其成為 student a am i public string reversewords 1 string s reverse cs,i,j 1 下次反轉的起點...