编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s
的形式给出。
不要给另外的数组分配额外的空间,你必须修改输入数组、使用 O(1) 的额外空间解决这一问题。
/**
* @param {character[]} s
* @return {void} Do not return anything, modify s in-place instead.
*/
var reverseString = function (s) {
let left = 0 // 初始化左指针
let right = s.length-1 // 初始化右指针
while (left <= right) { // 当左指针小于等于右指针时继续循环
const temp = s[left] // 交换元素:将左指针的值存储到临时变量
s[left] = s[right] // 将右指针的值赋给左指针
s[right] = temp // 将临时变量的值赋给右指针
left++ // 左指针右移
right-- // 右指针左移
}
return s // 返回修改后的数组
};
如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。
字母和数字都属于字母数字字符。
给你一个字符串 s
,如果它是 回文串 ,返回 true
;否则,返回 false
。