題目描述
輸入一個(gè)鏈表炒瘟,輸出該鏈表中倒數(shù)第K個(gè)結(jié)點(diǎn)黎比。
基本思想
設(shè)置兩個(gè)指針fast和slow。fast先走K-1步眠砾,再讓fast和slow同時(shí)走虏劲,直到fast.next為None(走到頭),此時(shí)slow指向倒數(shù)第K個(gè)結(jié)點(diǎn)褒颈。
Python
class Solution:
? ? def FindKthToTail(self, head, k):
? ? ? ? # write code here
? ? ? ? if not head or k <= 0:
? ? ? ? ? ? return None
? ? ? ? slow = fast = head
? ? ? ? if k > 1:
? ? ? ? ? ? for _ in range(k-1):
? ? ? ? ? ? ? ? fast = fast.next
? ? ? ? ? ? ? ? if not fast:
? ? ? ? ? ? ? ? ? ? return None
? ? ? ? while fast.next is not None:
? ? ? ? ? ? fast = fast.next
? ? ? ? ? ? slow = slow.next
? ? ? ? return slow
關(guān)于while not A和while A is not None
判斷對(duì)象是否有定義柒巫,要用A is None判斷
判斷對(duì)象是否為空,可以用not A 和A is None判斷
此處顯然是判斷next是否有節(jié)點(diǎn)谷丸,必須用is not None
參考文檔1:https://blog.csdn.net/johinieli/article/details/80141757
參考文檔2:https://blog.csdn.net/qq_31829611/article/details/89277560