LeetCode hot100-29-Y

java 复制代码
19. 删除链表的倒数第 N 个结点

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

这题比较简单,我的想法和官方一是一样的,剩下的不想看了。

就是要注意一下删除的是第一个节点的情况,单独处理一下。

我的代码

java 复制代码
/**
 * 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) {
        ListNode p = head;
        ListNode pre = head;
        int num = 0;
        while (p != null) {
            num++;
            p = p.next;

        }
        p = head;
        int num2 = num - n;
        if (num2 == 0) {
            return head.next;
        }

        while (num2 > 0) {
            num2--;
            pre = p;
            p = p.next;
        }
        pre.next = p.next;
        return head;

    }
}

官方解法一

java 复制代码
class Solution {
    public ListNode removeNthFromEnd(ListNode head, int n) {
        ListNode dummy = new ListNode(0, head);
        int length = getLength(head);
        ListNode cur = dummy;
        for (int i = 1; i < length - n + 1; ++i) {
            cur = cur.next;
        }
        cur.next = cur.next.next;
        ListNode ans = dummy.next;
        return ans;
    }

    public int getLength(ListNode head) {
        int length = 0;
        while (head != null) {
            ++length;
            head = head.next;
        }
        return length;
    }
}

作者:力扣官方题解
链接:https://leetcode.cn/problems/remove-nth-node-from-end-of-list/solutions/450350/shan-chu-lian-biao-de-dao-shu-di-nge-jie-dian-b-61/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关推荐
Giser探索家41 分钟前
「卫星百科」“绿色守卫”高分六号
大数据·人工智能·数码相机·算法·分类·云计算
思绪漂移1 小时前
线性回归中标准方程法求逆失败的解法:正则化
人工智能·算法·回归·线性回归
JK0x071 小时前
代码随想录算法训练营 Day59 图论Ⅸ dijkstra优化版 bellman_ford
算法·图论
白熊1881 小时前
【机器学习基础】机器学习入门核心算法:随机森林(Random Forest)
算法·随机森林·机器学习
宇钶宇夕1 小时前
SCL语言两台电机正反转控制程序从选型、安装到调试全过程的详细步骤指南(下)
运维·程序人生·算法·自动化
tt5555555555552 小时前
每日一题——提取服务器物料型号并统计出现次数
数据结构·c++·算法
linux-hzh2 小时前
day01
java·mysql·算法·leetcode
asom222 小时前
LeetCode Hot100(多维动态规划)
算法·leetcode·动态规划
ShiinaMashirol2 小时前
代码随想录打卡|Day51 图论(dijkstra(堆优化版)精讲、Bellman_ford 算法精讲)
算法·图论
圣保罗的大教堂2 小时前
《算法笔记》13.2小节——专题扩展->树状数组(BIT) 问题 D: 数列-训练套题T10T3
算法