敘述
這是 Algorithm I
的第四天第一個題目,總共有兩題。
- 難度:
Easy
- 花費時間: 30min
- 題目
傳入一個包含字母的陣列,把陣列原地(in-place)反轉。
空間複雜度必須為 O(1)
點我開啟限制與範例
限制:
1 <= s.length <= 105
s[i]
is a printable ascii character.
Example 1:
1 | Input: s = ["h","e","l","l","o"] |
Example 2:
1 | Input: s = ["H","a","n","n","a","h"] |
筆記
這道題使用 Two Pointer 非常的簡單,作法如下:
- Pointer 1: 遍歷陣列到中間
- Pointer 2: 反向遍歷陣列到中間
每次迴圈把指針 element 交換,再推進 Pointer 。
1 | /** |
下面也有更簡單的做法,一行完成,哈哈哈。
1 | /** |
成績
Two Pointers 成績
內建函式 reverse() 寫法成績