题解 | #判断一个链表是否为回文结构#

判断一个链表是否为回文结构

https://www.nowcoder.com/practice/3fed228444e740c8be66232ce8b87c2f

/*
* function ListNode(x){
* this.val = x;
* this.next = null;
* }
*/

function isPail(head) {
if (head === null || head.next === null) {
return true
}
// 3.使用快慢指针
let fast = head,
slow = head,
current = head;
// 遍历链表,移动快慢指针
while (fast.next !== null && fast.next.next !== null) {
slow = slow.next;
fast = fast.next.next;
}
// 此时当快指针移动到末端时,慢指针移动到中间,反转慢指针之后的链表
let reverseListHead = reverseList(slow);
// 遍历链表,判断两个链表是否相等
while (current !== null && reverseListHead !== null) {
if (current.val !== reverseListHead.val) {
return false
}
current = current.next;
reverseListHead = reverseListHead.next;
}
return true;
}
//反转链表
function reverseList(current) {
let pre = null,
curr = current;
while (curr != null) {
let nextNode = curr.next;
curr.next = pre;
pre = curr;
curr = nextNode;
}
return pre;
}

module.exports = {
isPail : isPail
};


全部评论

相关推荐

最近拿到了正浩的提前批offer感觉自己的实力得到了肯定,也给了我更多底气
搞机墨镜猫:正浩提前批官网好像就只有电力电子软硬件,哥们投的是这两个岗位吗
26届校招投递进展
点赞 评论 收藏
分享
屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
下北澤大天使:你是我见过最美的牛客女孩😍
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务