剑指 offer 链表倒数的第k个数
快慢指針
快指針線遍歷到第k-1個(gè)數(shù),然后慢指針在從頭開(kāi)始遍歷,這樣快慢指針有k-1個(gè)間隔,當(dāng)快指針到鏈表末尾時(shí),慢指針指的數(shù)就是倒數(shù)第k個(gè)數(shù)。
public class Solution {
? ? public ListNode FindKthToTail(ListNode head,int k) {
? ? ? ? ? ? if(head==null||k==0){
? ? ? ? ? ? ? ? return null;
? ? ? ? ? ? }
? ? ? ? ? ? ListNode pHead=head;
? ? ? ? ? ? for(int i=0;i<k-1;i++){
? ? ? ? ? ? ? ? if(pHead.next!=null){
? ? ? ? ? ? ? ? ? ? pHead=pHead.next;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? else{
? ? ? ? ? ? ? ? ? ? return null;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? ListNode pSlow=head;
? ? ? ? ? ? while(pHead.next!=null){
? ? ? ? ? ? ? ? pHead=pHead.next;
? ? ? ? ? ? ? ? pSlow=pSlow.next;
? ? ? ? ? ? }
? ? ? ? ? ? return pSlow;
? ? }
}
總結(jié)
以上是生活随笔為你收集整理的剑指 offer 链表倒数的第k个数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mac 设置默认python为pytho
- 下一篇: 剑指 offer 树的子结构