链表倒数第k个节点

题目:输入一个链表,输出该链表中倒数第k个结点

思路:典型快慢指针,快指针先走k,然后快慢指针同步,快指针到末尾时满指针指向倒数第K个,注意控制下边界情况

 public ListNode FindKthToTail(ListNode head,int k) {
            ListNode quick=head,slow=head;
        if(head==null||k==0) return null;
        while(k-->1){
            if(quick.next==null) return null;
            quick=quick.next;
            
        }
        while(quick.next!=null){
             quick=quick.next;
             slow=slow.next;
        }
        return slow;
    }

 

posted @ 2017-04-08 14:37  雪浪snowWave  阅读(104)  评论(0编辑  收藏  举报