描述
给定一个字符串,请编写一个函数判断该字符串是否回文。如果回文请返回true,否则返回false。
解法一
这是一个偷懒的解法
function judge( str ) {
return str == str.split('').reverse().join('');
}
解法二
利用数组下标
function judge( str ) {
// write code here
var len = str.length;
var headIndex = 0
var endIndex = len - 1;
if (len === 2) {
return str[headIndex] === str[endIndex];
}
while(endIndex - headIndex > 1) {
endIndex = len - headIndex - 1;
if (str[headIndex] === str[endIndex]) {
headIndex++
}
}
return endIndex - headIndex <= 1;
}
解法三
利用数组 shift 返回头部的元素,pop 返回尾部的元素
function judge( str ) {
// write code here
const arr = str.split('');
if (arr.length <= 1) {
return true;
}
let result = false;
while(arr.shift() === arr.pop()) {
result = arr.length <= 1;
}
return result;
}