LeedCode篇:234. 回文链表
生活随笔
收集整理的這篇文章主要介紹了
LeedCode篇:234. 回文链表
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
234. 回文鏈表
- 題目:
- 解題思路:
- 源碼:
- 踩坑點:
題目:
解題思路:
1、先用快慢指針找到中間節(jié)點 2、后半個鏈表逆置 3、然后一一比較源碼:
bool isPalindrome(struct ListNode* head){struct ListNode *slow = head;struct ListNode *fast = head;struct ListNode *p = head;struct ListNode *newhead=NULL;while(fast != NULL && fast -> next != NULL){slow = slow->next;fast = fast->next->next;}while(slow != NULL ){struct ListNode *slownext = slow->next;slow->next = newhead;newhead = slow;slow = slownext;}while(p != NULL && newhead != NULL){if(p->val == newhead->val){p = p->next;newhead = newhead->next;}elsereturn false;}return true;}踩坑點:
1、鏈表逆置原理:
要點:永遠都是A指向C且A和C必須指向倆個鏈表的第一個節(jié)點
2、: 因為每次都要讓slownext指向slow->next位置,所以 struct ListNode *slownext = slow->next; 必須在while循環(huán)內(nèi)。
總結(jié)
以上是生活随笔為你收集整理的LeedCode篇:234. 回文链表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (王道408考研操作系统)第三章内存管理
- 下一篇: 时光已荏苒,我还怎么让你遇见最美年华里的