lhl
首页
python
leetcode
产品思想
软件测试
博客 (opens new window)
github (opens new window)
首页
python
leetcode
产品思想
软件测试
博客 (opens new window)
github (opens new window)
  • python

  • leetcode

    • 数组

      • 双指针

        • 15. 三数之和
        • 19. 删除链表的倒数第 N 个结点
      • 1.两数相加
      • 11. 盛最多水的容器
      • 26.删除有序数组中的重复项
      • 75. 颜色分类
      • 136.只出现一次的数字
      • 283.移动零
      • 448. 找到所有数组中消失的数字
      • 617. 合并二叉树
    • 位运算

    • 动态规划

    • 链表

    • 栈

    • 树

  • 软件测试

  • Git

  • linux

  • 产品

  • MySql

  • docker

  • leetcode
  • array
  • double pointer
2023-04-29

删除链表的倒数第 N 个结点

https://leetcode.cn/problems/remove-nth-node-from-end-of-list/submissions/ (opens new window) 标签 需要注意的点

  1. 虚拟节点指向head
  2. 边界问题
class Solution:
    def removeNthFromEnd(self, head: ListNode, n: int) -> ListNode:

        dummyNode = ListNode(-1)
        dummyNode.next = head
        xNode = self.findNodeX(dummyNode, n+1)
        xNode.next = xNode.next.next
        return dummyNode.next
    

    def findNodeX(self, node, k):
        p1 = node
        # p1 先走k
        for i in range(k):
            p1 = p1.next
        
        p2 = node

        # 同时走n-k
        while p1:
            p1 = p1.next
            p2 = p2.next
        
        return p2
15. 三数之和
1.两数相加

← 15. 三数之和 1.两数相加→

最近更新
01
lhl learn notes
02
filter
06-09
03
decorator
06-09
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式