14、鏈表中倒數(shù)第k個節(jié)點

題目描述
輸入一個鏈表,輸出該鏈表中倒數(shù)第k個結點。

public class Solution {
    public ListNode FindKthToTail(ListNode head,int k) {
        ListNode p1 = null;
        ListNode p2 = null;
        
        // 使p1指向第k個節(jié)點
        while(k>0){
            if(p1==null){
                p1=head;
            }else{
                p1=p1.next;
            }
            k--;
        }
        
        //p1、p2同時向前推進,直到p1到達尾部
        while(p1!=null){
            if(p2==null){
                p2=head;
            }else{
                p2=p2.next;
            }
            p1=p1.next;
        }
        
        return p2;
    }
}

第二次做:

public class Solution {
    public ListNode FindKthToTail(ListNode head,int k) {
        if(head==null){
            return null;
        }
    ListNode p1 = head;
        for(int i=0; i<k; i++){
            if(p1==null){
                return null;
            }
            p1=p1.next;
        }
        ListNode p2 = head;
        while(p1!=null){
            p1 = p1.next;
            p2 = p2.next;
        }
        return p2;
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容