>[success] # 344. 反轉字符串
* 描述
編寫一個函數,其作用是將輸入的字符串反轉過來。輸入字符串以字符數組 s 的形式給出。
不要給另外的數組分配額外的空間,你必須原地修改輸入數組、使用 O(1) 的額外空間解決這一問題。
?
* 示例 1:
~~~
輸入:s = ["h","e","l","l","o"]
輸出:["o","l","l","e","h"]
~~~
* 示例 2:
~~~
輸入:s = ["H","a","n","n","a","h"]
輸出:["h","a","n","n","a","H"]
~~~
來源:力扣(LeetCode)
鏈接:https://leetcode.cn/problems/reverse-string
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
>[info] ## 對撞指針
* 指針從左右出發,進行對應值交換,當兩個指針相互對撞則結束

>[danger] ##### js
~~~
/**
* @param {character[]} s
* @return {void} Do not return anything, modify s in-place instead.
*/
var reverseString = function(s) {
let right = s.length - 1
let left = 0
while(right >= left){
;[s[left],s[right] ]=[s[right],s[left]]
right --
left ++
}
};
~~~
>[danger] ##### java
~~~
class Solution {
public void reverseString(char[] s) {
int right = s.length-1;
int left = 0;
while(left < right){
char c = s[left];
s[left] = s[right];
s[right] = c;
left++;
right--;
}
}
}
~~~
- 刷題準備
- 統計數組中元素出現次數
- Leetcode -- 442數組中重復的數據
- leetcode -- 448 找到所有數組中消失的數字
- 字符類似題
- Leetcode -- 1002 查找共用字符
- Leetcode -- 1370上升下降字符串
- 指針類題解
- Leetcode -- 283 移動零
- Leetcode -- 26. 刪除有序數組中的重復項
- Leetcode -- 80. 刪除有序數組中的重復項 II
- Leetcode -- 27. 移除元素
- Leetcode -- 344. 反轉字符串
- Leetcode -- 125 驗證回文串
- Leetcode -- 11 盛最多水的容器
- Leetcode -- 1480. 一維數組的動態和