LeetCode 344. 逆文字列


題目連結: LeetCode 344

一開始沒有多想,想說在迴圈裡儲存字串,
然後把字串中第 i 個字母跟倒數第 i 個字母值對調就做出來了~

/**
 * @Time Complexity : O(n)
 * @Space Complexity : O(n)
 */

var reverseString = function(s) {
   for (let i = 0; i < s.length / 2; i++) {
      let temp = s[i];
      s[i] = s[s.length - i - 1];
      s[s.length - i - 1] = temp;
   }
   return s;
}



後續看視題目的 フォローアップ 寫說必要達成 O(1) 的空間複雜度,
故に想到了迴圈裡的每個 temp 並不必要被儲存
そのため、他の拉致を迴圈外に

/**
 * @Time Complexity : O(n)
 * @Space Complexity : O(1)
 */

var reverseString = function(s) {
   let temp;
   for (let i = 0; i < s.length / 2; i++) {
      temp = s[i];
      s[i] = s[s.length - i - 1];
      s[s.length - i - 1] = temp;
   }
   return s;
}



フォローアップを完了することができます