剑指 Offer 22. 链表中倒数第k个节点(C语言)
生活随笔
收集整理的這篇文章主要介紹了
剑指 Offer 22. 链表中倒数第k个节点(C语言)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
輸入一個鏈表,輸出該鏈表中倒數(shù)第k個節(jié)點(diǎn)。為了符合大多數(shù)人的習(xí)慣,本題從1開始計(jì)數(shù),即鏈表的尾節(jié)點(diǎn)是倒數(shù)第1個節(jié)點(diǎn)。
例如,一個鏈表有 6 個節(jié)點(diǎn),從頭節(jié)點(diǎn)開始,它們的值依次是 1、2、3、4、5、6。這個鏈表的倒數(shù)第 3 個節(jié)點(diǎn)是值為 4 的節(jié)點(diǎn)。
示例:
給定一個鏈表: 1->2->3->4->5, 和 k = 2.
返回鏈表 4->5.
這道題只需要定義一個快指針來先跑k個節(jié)點(diǎn),然后頭指針開始和快指針一起跑,直到快指針跑到鏈表結(jié)束(NULL),則頭指針剛好跑到倒數(shù)第k個位置;
則快指針剛好走完了整個鏈表,而頭指針剛好指向倒數(shù)第k個節(jié)點(diǎn);
即若鏈表長度為len,則快指針先走了k,然后和頭指針一起走了len-k;
代碼:
總結(jié)
以上是生活随笔為你收集整理的剑指 Offer 22. 链表中倒数第k个节点(C语言)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Diffie-Hellman密钥交换协议
- 下一篇: 剑指 Offer 06. 从尾到头打印链