一、什么是回文结构?
回文结构就是类似于ABBA、ABA、A的形式
示例1:a -> b -> c -> c - >b - >a
示例2:a -> b -> a
示例3:a
示例4:abccba
二、回文结构判断方法
1.字符串类型
将字符串转换成数组之后,反转数组,然后将数组 的内容拼接转换成字符串,与源字符串比对
let str = 'abccba'
function isPalindrome(str){
if(str.length === 1){
return true
}else{
let reverseStr = Array.from(str).reverse().join(' ');
if(reverseStr == str){
return true;
}else{
return false;
}
}
}
2.链表类型
- 使用栈的方式,遍历单链表,将链表中的每个节点添加到数组中,然后再次遍历链表,同时对数组进行弹栈操作,依次比对。因为栈是后进先出,所以是按照链表的最后一个节点开始弹栈
function