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

思路

首先计算出链表的长度,然后删除第n个节点即可,但要注意考虑特殊情况

解题方法

特殊情况:1.删除节点为最后一个节点

2.删除节点为头结点

Code

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 t=head;
        int len=0;
        while(t!=null){
            len++;
            t=t.next;
        }
        if(n==len) return head.next;
        t=head;
        for(int i=1;i<len-n;i++){
            t=t.next;
        }
        if(t.next==null){
            t=null;
        }else if(t.next.next!=null){
            t.next=t.next.next;
        }else{
            t.next=null;
        }
        return head;
    }
}
相关推荐
_OP_CHEN6 小时前
C++进阶:(七)红黑树深度解析与 C++ 实现
开发语言·数据结构·c++·stl·红黑树·红黑树的旋转·红黑树的平衡调整
不穿格子的程序员6 小时前
从零开始写算法-栈-最小值(记忆化pair)
数据结构·
小龙报7 小时前
《算法通关指南数据结构和算法篇(4)--- 队列和queue》
c语言·开发语言·数据结构·c++·创业创新·学习方法·visual studio
AI科技星7 小时前
宇宙的几何诗篇:当空间本身成为运动的主角
数据结构·人工智能·经验分享·算法·计算机视觉
前端小L7 小时前
二分查找专题(二):lower_bound 的首秀——精解「搜索插入位置」
数据结构·算法
CAU界编程小白9 小时前
数据结构系列之十大排序算法
数据结构·c++·算法·排序算法
执携9 小时前
数据结构 -- 树(遍历)
数据结构
lkbhua莱克瓦249 小时前
Java基础——常用算法4
java·数据结构·笔记·算法·github·排序算法·快速排序
还是码字踏实10 小时前
基础数据结构之哈希表:两数之和(LeetCode 1 简单题)
数据结构·leetcode·散列表
Kt&Rs10 小时前
11.5 LeetCode 题目汇总与解题思路
数据结构·算法·leetcode