LeedCode篇:876. 链表的中间结点
生活随笔
收集整理的這篇文章主要介紹了
LeedCode篇:876. 链表的中间结点
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
876. 鏈表的中間結(jié)點(diǎn)
- 題目:
- 解題思路:
- 源碼
- 踩坑點(diǎn):
題目:
解題思路:
因?yàn)橐抑虚g節(jié)點(diǎn),所以用快慢指針的方法
源碼
struct ListNode* middleNode(struct ListNode* head){struct ListNode *fast = head;struct ListNode *slow = head;while(fast != NULL && fast->next != NULL){fast = fast->next->next;slow = slow->next;}return slow; }踩坑點(diǎn):
while中的fast判斷和fast->next判斷不能寫(xiě)反,否則會(huì)出現(xiàn)空指針的錯(cuò)誤
原因: &&運(yùn)算符會(huì)從左往右執(zhí)行,先執(zhí)行fast->next != NULL的話(huà)就沒(méi)有判斷fast是否為空,此時(shí)會(huì)出現(xiàn)空指針的錯(cuò)誤
總結(jié)
以上是生活随笔為你收集整理的LeedCode篇:876. 链表的中间结点的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 15---Net基础加强
- 下一篇: 计算火车运行时间(pta)