# -*- coding:utf-8 -*-
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None class Solution:
def FindKthToTail(self, head, k):
# write code here
# 先考虑k若大于链表的长度,返回None,链表的长度咋算,不太会,可以在遍历的时候count+1
# 我的思路是,从头到尾遍历链表,将其存在list中,如果len(list)<k,返回None;如果k=0,也返回None result = []
while head:
result.append(head)
head = head.next
if k > len(result) or k == 0:
return None
return result[len(result)-k]

 思路2:参考书书中的解题思路,只遍历一遍链表,就可以找到倒数第k个节点。我们这样思考,倒数第k个就是正数第n-k+1个。可以设置2个指针,2个指针相差k-1步,当前面的走的指针走到最后了,那我们的后指针就走到了n-k+1的位置。

# -*- coding:utf-8 -*-
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None class Solution:
def FindKthToTail(self, head, k):
# write code here
if head == None:
return None
pointer1 = head
pointer2 = head
count = 0 while pointer1:
if count > k-1:
pointer2 = pointer2.next
count += 1
pointer1 = pointer1.next
if count<k or k<=0:
return None
return pointer2

  

最新文章

  1. 2013年度IT博客大赛跻身10强
  2. HTML 学习笔记 JavaScript(事件)
  3. oracle often commands
  4. 剑指架构师系列-tomcat6通过伪异步实现connector
  5. Android 身份证号码查询、手机号码查询、天气查询
  6. JSP page指令详解
  7. 记录:在老XPS1330上安装CentOS7
  8. 测试方法---&quot;SFDIPOT&quot;
  9. 使用MxNet新接口Gluon提供的预训练模型进行微调
  10. Python mac安装mysqlclient的一个bug
  11. 使用 Chrome DevTools 调试 JavaScript
  12. caffemodel模型
  13. 当对具体的一条记录进行操作时候 需要传递该记录的id
  14. Oracle数据重复,只取一条
  15. Vue+Vue-router微信分享功能
  16. idea设置代码块
  17. leetcode309
  18. html css col-md-offset
  19. HTML相对路径相对目录--上级目录及下级目录的写法
  20. filesystems\configfs\configfs.txt 翻译Android下的

热门文章

  1. 初涉kafka
  2. Nginx 教程 (1):基本概念
  3. elasticsearch 基础 —— _mget取回多个文档及_bulk批量操作
  4. 295-Xilinx Kintex-7 X7K325T的半高PCIe x4双路万兆光纤收发卡
  5. 微信小程序(18)-- 自定义头部导航栏
  6. update all line start with -- to space
  7. xblock架构,链接与加载
  8. Tomcat 9 安装
  9. substr()、substring()、slice()
  10. toj 4602 松鼠聚会