反转字符串
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。
示例 1:
输入:[“h”,“e”,“l”,“l”,“o”]
输出:[“o”,“l”,“l”,“e”,“h”]
思路
- 数组reverse方法
最简单,最直接的解法,既然是数组形式输出,直接数组reverse方法倒置数组即可,既然是算法题,肯定是不希望用数组reverse方法来解决。
- 双指针方法
对于字符串,我们定义两个指针(也可以说是索引下表),一个从字符串前面,一个从字符串后面,两个指针同时向中间移动,并交换元素。
- 代码实现
/**
* @param {character[]} s
* @return {void} Do not return anything, modify s in-place instead.
*/
//数组方法实现
var reverseString = function(s) {
return s.reverse();
};
//双指针方法实现
var reverseString = function(s) {
let l = -1
let r = s.length
while(++l < --r) [s[l], s[r]] = [s[r], s[l]];
return s;
};