题意:
编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。
不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。
思路:
- JS里已经有封装好的库函数,直接return s.reverse()
- 可以用ES6的新特性:
var reverseString = function(s) {
let l=0
let r=s.length-1
while(l<r){
[s[l],s[r]]=[s[r],s[l]]
l++
r--
}
return s
};
- 还可以用一个临时变量来保存要交换的数,再来做交换
var reverseString = function(s) {
let temp
let r = s.length-1
for(let i=0;i<s.length;i++){
temp = s[i]
s[i] = s[r]
s[r]= temp
r--
if(i>=r) break
}
return s
};