劍指 Offer 58 II 左旋轉字串

2021-10-25 20:05:02 字數 540 閱讀 8663

一道簡單題,記錄下幾種解法

一、線性遍歷

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中...