class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
# 这道题还是很简单的,我们只需要两遍的遍历,找到链表中倒数第n的前一个,
# 然后把n的前一个节点的next指向n的下一个节点,就可以了。
# 这里需要注意的是,如果链表的长度为1,我们好办了。
# 因此这里我们定义一个链表的节点,然后让他指向头结点。
# 这样我们就能实现删除第一个节点了。
class Solution:
def removeNthFromEnd(self, head: ListNode, n: int) -> ListNode:
# 判断链表是否为空。根据题意,这个判断可以不写,
# 因为题中说明了n是有效的数字
if not head :return None
# 定义一个节点,然后把它指向头结点。
node = ListNode(0)
node.next = head
length = 0
# 遍历出链表的长度。
while head:
length += 1
head = head.next
# 找到倒数第n各节点前边那个。
node1 = node
for i in range(length - n):
node1 = node1.next
# 然后把n删除。
node1.next = node1.next.next
return node.next

最新文章

  1. 第10章 Shell编程(2)_字符截取命令
  2. ubuntu14.04下搭建python+mysql环境
  3. Util应用程序框架公共操作类(九):Lambda表达式扩展
  4. 【原】浅谈KL散度(相对熵)在用户画像中的应用
  5. 2017 年值得一瞥的 JavaScript 相关技术趋势
  6. 删除(注意,删除后,后面顶上去,所以id会一直变,所以我们用class来定义,因为id是唯一的)
  7. Android源码编译
  8. intersection
  9. C# 添加.DLL 出错的解决方法
  10. 实验八--uart
  11. PHP: 深入pack/unpack 字节序
  12. apache基本配置
  13. 什么场景Hbase
  14. 基于springmvc的hessian调用原理浅析
  15. MQTT——控制报文格式
  16. 钉钉自定义机器人配合SVN钩子事件进行消息的推送实践
  17. [区块链\理解BTCD源码]GO语言实现一个区块链原型
  18. Sql server 的float和real类型会产生科学计数法,如何消除科学计数法
  19. Redis记录-JAVA连接Redis
  20. Notepad++如何关闭最近打开的文件的历史记录功能

热门文章

  1. Python爬取NBA虎扑球员数据
  2. ui自动化---WebDriverApi接口
  3. ASP.NET解压zip文件,并将解压后的文件放到指定路径中
  4. 摆书 book
  5. maven安装配置以及eclipse的配置
  6. Shareplex搭建步骤(rman)
  7. xxe-xml外部实体注入
  8. get请求传递json格式数据的两种方法
  9. SQL Server 子查询遇到的坑
  10. Python练习题 020:累积累加