對於乙個字串,和字串中的某一位置,請設計乙個演算法,將包括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 下次反轉的起點...