# 反转字符串 (opens new window)

  • 难度:Easy
  • 标签:双指针

# 刷题思路

  • [x] API法
  • [x] 双指针

# 方法 1 API法

  • 复杂度:
    • 时间 O(n)
    • 空间 O(1)
  • 结果:
    • 执行用时:136 ms, 在所有 JavaScript 提交中击败了26.25%的用户
    • 内存消耗:44.3 MB, 在所有 JavaScript 提交中击败了21.74%的用户
var reverseString = function(s) {
    return s.reverse()
};

# 方法 2 双指针

  • 复杂度:
    • 时间 O(n). 左右夹逼 O(n/2)
    • 空间 O(1)
  • 结果:
    • 执行用时:108 ms, 在所有 JavaScript 提交中击败了94.60%的用户
    • 内存消耗:45.3 MB, 在所有 JavaScript 提交中击败了6.98%的用户
var reverseString = function(s) {
    let [left, right] = [0, s.length-1]
    while (left < right) {
        ;[s[left], s[right]] = [s[right], s[left]]
        ;[left, right] = [left+1, right-1]
    }
    return s
};

JS刷题记录 Leetcode-js (opens new window) 每周都会更新刷题心得或者题解, 你的点赞或 star 都将助力我产出更好内容~