判断一个字符串是不是回文串,用js来判断的话就是判断它和它调转后是否相等?Js可以使用reverse()函数调转数组。
function countPalindrome(word){
var max = 0;//此处保存长度
var palind = [];//此处保存回文串
var arr = word.trim().split('');
//我将这个字符串从[0][数组末尾]~~~~[数组末尾][0]遍历了一遍,为了统计最长回文
for(var i = 0; i < arr.length; i++){
for(var j =i; j < (arr.length); j++){
var testCopy=[];
var test = [];
test = arr.slice(i, j+1);//剪切数组
for (var q = 0; q < test.length; q++) {
testCopy[q] = test[q];
};//将剪切的数组复制给testCopy,不然直接testcopy=test是不可以的,这是浅复制
test.reverse();//调转数组顺序
//对比时将他们转为为字符串,比较他们是不是回文串
if( testCopy.join('').trim() == test.join('').trim()&&testCopy.length > max){
max = testCopy.length;
palind = testCopy.join('');
}
}
}
return (max + ' ' + palind);//返回 长度和回文串
}