1. 程式人生 > >劍指offer第22:連結串列中倒數第k個結點

劍指offer第22:連結串列中倒數第k個結點

題目描述

輸入一個連結串列,輸出該連結串列中倒數第k個結點。

 

class Solution:
    def FindKthToTail(self, head, k):
        # write code here
        if k<=0 or head==None:
            return None
        p1=head
        p2=head
        while k>1:
            if p2.next!=None:
                p2=p2.next
                k-=1
            else:
                return None
        while p2.next!==None:
            p1=p1.next
            p2=p2.next
        return p1

用兩個指標代替一個指標的兩次遍歷。第一個指標先走k-1步,當第一個指標指向鏈尾時,第二個指標指向倒數第k個節點。