资讯专栏INFORMATION COLUMN

19. 删除链表的倒数第N个节点

edagarli / 3239人阅读

摘要:小米广告第三代广告引擎的设计者开发者负责小米应用商店日历开屏广告业务线研发主导小米广告引擎多个模块重构关注推荐搜索广告领域相关知识题目给定一个链表,删除链表的倒数第个节点,并且返回链表的头结点。

知乎ID: 码蹄疾 
码蹄疾,毕业于哈尔滨工业大学。
小米广告第三代广告引擎的设计者、开发者;
负责小米应用商店、日历、开屏广告业务线研发;
主导小米广告引擎多个模块重构;
关注推荐、搜索、广告领域相关知识;
题目

给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。
示例:
给定一个链表: 1->2->3->4->5, 和 n = 2.
当删除了倒数第二个节点后,链表变为 1->2->3->5.
说明:
给定的 n 保证是有效的。
进阶:
你能尝试使用一趟扫描实现吗?

分析

链表的题目基本上都是优先考虑双指针。一个指针先走N步,然后两个指针同步移动到链表末尾,移除前一个指针所指着的节点即可。但是越简单的题目越要考虑边界条件,不要掉坑里面,具体看代码吧,争取一次Bugfree.

Code
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode removeNthFromEnd(ListNode head, int n) {
        ListNode right = head;
        ListNode left = head;
        for (int i = 0; i < n; i++) {
            right = right.next;
        }
        
        if (right == null) {
            head = head.next;
            return head;
        }
        while (right.next != null) {
            left = left.next;
            right = right.next;
        }
        left.next = left.next.next;
        return head;
    }
}

微信扫码关注更多题解!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/39999.html

相关文章

  • LeetCode 19删除表的倒数N节点 Remove Nth Node From End

    摘要:给定一个链表,删除链表的倒数第个节点,并且返回链表的头结点。示例给定一个链表和当删除了倒数第二个节点后,链表变为说明给定的保证是有效的。值得注意的的是,指向应当删除的节点并无法删除它,应当指向该删除节点的前一个节点。 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 Given a linked list, remove the n-th node from the ...

    qiangdada 评论0 收藏0
  • LeetCode 19删除表的倒数N节点 Remove Nth Node From End

    摘要:给定一个链表,删除链表的倒数第个节点,并且返回链表的头结点。示例给定一个链表和当删除了倒数第二个节点后,链表变为说明给定的保证是有效的。值得注意的的是,指向应当删除的节点并无法删除它,应当指向该删除节点的前一个节点。 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 Given a linked list, remove the n-th node from the ...

    周国辉 评论0 收藏0
  • LeetCode偶尔一题 —— 19. 删除表的倒数N节点链表系列)

    摘要:题目描述给定一个链表,删除链表的倒数第个节点,并且返回链表的头结点。示例给定一个链表和当删除了倒数第二个节点后,链表变为简单的思路用一个数组保存所有的链表节点,遍历完之后可以知道倒数第个链表节点。 题目描述 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1-...

    Anshiii 评论0 收藏0
  • 19. 删除表的倒数N节点

    摘要:小米广告第三代广告引擎的设计者开发者负责小米应用商店日历开屏广告业务线研发主导小米广告引擎多个模块重构关注推荐搜索广告领域相关知识题目给定一个链表,删除链表的倒数第个节点,并且返回链表的头结点。 知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发;主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领...

    zhunjiee 评论0 收藏0
  • 19. 删除表的倒数N节点

    摘要:小米广告第三代广告引擎的设计者开发者负责小米应用商店日历开屏广告业务线研发主导小米广告引擎多个模块重构关注推荐搜索广告领域相关知识题目给定一个链表,删除链表的倒数第个节点,并且返回链表的头结点。 知乎ID: 码蹄疾 码蹄疾,毕业于哈尔滨工业大学。 小米广告第三代广告引擎的设计者、开发者; 负责小米应用商店、日历、开屏广告业务线研发;主导小米广告引擎多个模块重构; 关注推荐、搜索、广告领...

    OBKoro1 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<