算法薄弱,每天一道算法题,突破自己
题目
编写函数将输入的字符串反转过来,输入字符串char[]的形式
不要额外的空间,原地修改输入数组,使用O(1)的额外空间
实例1:
输入:["h","e","l","l","o"]
输出:["o","l","l","e","h"]
实例2:
输入:["H","a","n","n","a","h"]
输出:["h","a","n","n","a","H"]
解析
使用双指针两两交换
参考代码
/**
* @param {character[]} s
* @return {void} Do not return anything, modify s in-place instead.
*/
var reverseString = function(s) {
if (!s.length) return;
let i = 0;
let j = s.length - 1;
while (i < j) {
let temp = s[i];
s[i] = s[j];
s[j] = temp;
i++;
j--;
}
};