广州三合一网站建设,福州短视频seo机会,溧阳有做网站的吗,西安网页制作培训题目描述
题目链接#xff1a;链表的回文结构_牛客题霸_牛客网 (nowcoder.com) 题目分析
我们的思路是#xff1a;
找到中间结点逆置后半段比对
我们可以简单画个图来表示一下#xff1a; ‘
奇数和偶数都是可以的
找中间结点
我们可以用快慢指针来找中#xff1a;l…题目描述
题目链接链表的回文结构_牛客题霸_牛客网 (nowcoder.com) 题目分析
我们的思路是
找到中间结点逆置后半段比对
我们可以简单画个图来表示一下 ‘
奇数和偶数都是可以的
找中间结点
我们可以用快慢指针来找中leetcode链表的中间结点-CSDN博客
写一个找中的函数middleNode 然后写一个逆置的函数reverseList 我们画图表示一下头插的过程 最后我们进行一个对比 代码示例
有了这个思路我们就可以编写代码了
/*
struct ListNode {int val;struct ListNode *next;ListNode(int x) : val(x), next(NULL) {}
};*/
class PalindromeList {
public:struct ListNode*reverseList(ListNode*head){struct ListNode*curhead;struct ListNode*newheadNULL;while(cur){struct ListNode*nextcur-next;//头插cur-nextnewhead;newheadcur;curnext;}return newhead;}struct ListNode*middleNode(ListNode*head){struct ListNode*slow,*fast;slowfasthead;while(fastfast-next){slowslow-next;fastfast-next-next;}return slow;}bool chkPalindrome(ListNode* head) {// write code herestruct ListNode*midmiddleNode(head);struct ListNode*rheadreverseList(mid);while(headrhead){if(head-val!rhead-val){return false;}headhead-next;rheadrhead-next;}return true;}
};
结果也就通过了