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

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode removeNthFromEnd(ListNode head, int n) {
        /*
            通过一个指针p先走n-1步之后,另一个指针q从头开始走,那么当p移动到链表尾部时,q就会位于链表的倒数第n个节点。
        */
        ListNode p = head;
        for(int i = 0;i < n-1;i ++)
            p = p.next;
        ListNode q = head,pre = null;
        while(p != null && p.next != null){
            p = p.next;
            pre = q;
            q = q.next;
        }
        //pre为null,就说明当前p指针已经在链表尾了,要删除的是链表头部节点
        if(pre == null)
            head = head.next;
        else
            pre.next = q.next;
        return head;
    }
}

相关推荐

  1. leetcode19. 删除倒数 N

    2024-04-02 22:36:05       30 阅读
  2. Leetcode19. 删除倒数 N

    2024-04-02 22:36:05       38 阅读
  3. leetcode19. 删除倒数 N

    2024-04-02 22:36:05       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-02 22:36:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-02 22:36:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-02 22:36:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-02 22:36:05       20 阅读

热门阅读

  1. C语言 结构体

    2024-04-02 22:36:05       19 阅读
  2. 常用的SQL语句以及它们的作用和示

    2024-04-02 22:36:05       18 阅读
  3. Mysql数据库——InnoDB和MyISAM区别与联系

    2024-04-02 22:36:05       15 阅读
  4. 2800. 包含三个字符串的最短字符串

    2024-04-02 22:36:05       18 阅读
  5. NoSQL数据库

    2024-04-02 22:36:05       18 阅读
  6. docker + miniconda + python 环境安装与迁移(简化版)

    2024-04-02 22:36:05       16 阅读
  7. 22 多态

    22 多态

    2024-04-02 22:36:05      13 阅读
  8. 算法——逆波兰式

    2024-04-02 22:36:05       14 阅读