題目連結:
題目意譯:
給定一個字串以及一整數 k,從字串的頭開始每 2k 個字元,反轉前 k 個字元。如果少於 k 個字元,則將它們全數反轉。如果大於等於 k 但不滿 2k 的話,將前 k 個字元反轉,剩下的保持不變。
限制:
字串只包含小寫英文字母。
給定的字串之長度以及 k 之值坐落於 [1, 10000] 的範圍之中。
範例測資:
輸入: s = "abcdefg" , k = 2
輸出: "bacdfeg"
解題思維:
其實跟一般的字串反轉沒什麼兩樣,只是我們要根據 k 值將字串分成多個長度 2k (最後一個不一定滿 2k 個字元)的子字串然後將根據一般的反轉法(如
這題)去反轉前 k 個字元即可。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。