344 反转字符串
双指针替换彼此即可
var reverseString = function(s) {
let left = 0, right = s.length - 1
while (left <= right) {
[s[left], s[right]] = [s[right], s[left]]
left += 1
right -= 1
}
};
541 反转字符串2
每次移动2k,然后反转前k个
var reverseStr = function(s, k) {
let arr = s.split("")
for (let i = 0; i < s.length; i += 2*k) {
reverse(arr, i, i + k - 1)
}
return arr.join("")
};
function reverse (arr, i, j) {
while (i <= j) {
const tmp = arr[i]
arr[i] = arr[j]
arr[j] = tmp
i += 1
j -= 1
}
}
151 反转字符串中的单词
var reverseWords = function (s) {
const arr = s.trim().split(" ")
const res = []
for (let i = arr.length - 1; i >= 0; i--) {
const word = arr[i].trim()
if (word !== "") {
res.push(word)
}
}
return res.join(" ")
};