2019-06-10剑指|2019-06-10剑指 链表中的第k个节点
【2019-06-10剑指|2019-06-10剑指 链表中的第k个节点】15min 关键在边界条件。k=len+1的时候
class Solution:
def FindKthToTail(self, head, k):
# write code here
n=0
dead=ListNode(None)
dead.next=head
fast=dead
slow=dead
try:
while n
不使用try catch
class Solution:
def FindKthToTail(self, head, k):
# write code here
n=0
dead=ListNode(None)
dead.next=head
fast=dead
slow=dead
while n
不使用哑结点还是有点难想的,特别是边界条件,其中i与k的判断条件
class Solution:
def FindKthToTail(self, head, k):
# write code here
fast=head
slow=head
i=1
while fast!=None:
if i>k:slow=slow.next
fast=fast.next
i+=1
return slow if i>k else None
使用哑结点比较好理解
class Solution:
def FindKthToTail(self, head, k):
# write code here
dead=ListNode(None)
dead.next=head
f=dead
s=dead
i=0
while f!=None:
if i>=k:s=s.next
f=f.next
i+=1
return s if i>k else None
最容易错的点在于例如len5 6
推荐阅读
- 热闹中的孤独
- JS中的各种宽高度定义及其应用
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- Android中的AES加密-下
- 放下心中的偶像包袱吧
- C语言字符函数中的isalnum()和iscntrl()你都知道吗
- C语言浮点函数中的modf和fmod详解
- C语言中的时间函数clock()和time()你都了解吗
- 如何在Mac中的文件选择框中打开系统隐藏文件夹