一道簡單題,記錄下幾種解法
一、線性遍歷
class
solution
return str+temp;}}
;
二、c++的substr()函式
class
solution
};
三、三次翻轉
思路:三次反轉是個經典解法。技巧性很強。
例如:輸入: s = 「abcdefg」, k = 2
「abcdefg」 反轉前2個字元 「bacdefg」
「bacdefg」 反轉後5個字元 「bagfedc」
「bagfedc」 反轉整個字串 「cdefgab」
class
solution
};
c++中,字串可以當作陣列處理,以獲得字串中對應字元
s="abcdefg";
s[1]='b';
劍指 Offer 58 II 左旋轉字串
題目 這道題本身不是很難,熟知string相關函式即可。思路一 最簡單的方式,利用substring函式分別獲取兩部分,即可完成拼接。class solution 思路二 若不能用substring 函式,則利用該迴圈,先從第n 1位 字元新增到乙個stringbuilder中,然後再把第一位到第n...
劍指offer58 II 左旋轉字串
字串的左旋轉操作是把字串前面的若干個字元轉移到字串的尾部。請定義乙個函式實現字串左旋轉操作的功能。比如,輸入字串 abcdefg 和數字2,該函式將返回左旋轉兩位得到的結果 cdefgab 示例1 輸入 s abcdefg k 2 輸出 cdefgab class solution def reve...
劍指 Offer 58 II 左旋轉字串
題目 字串的左旋轉操作是把字串前面的若干個字元轉移到字串的尾部。請定義乙個函式實現字串左旋轉操作的功能。比如,輸入字串 abcdefg 和數字2,該函式將返回左旋轉兩位得到的結果 cdefgab 題解思路 方法一 求餘法 1.新建乙個string srt 然後利用求餘法遍歷字串,在新增字串到str中...