Leetcode:344.反转字符串

114 阅读1分钟

力扣题目链接

题意:

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。

不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

image.png

思路:

  • 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 
};