首页 > 其他分享 >链表--删除链表的中间节点

链表--删除链表的中间节点

时间:2022-12-14 01:55:06浏览次数:41  
标签:Node head 删除 -- next 链表 节点

题目:给定链表的头节点,实现删除链表的中间节点的函数

例如:不删除任何节点

1->2 删除节点2

1->2->3 删除节点2

1->2->3->4 删除节点2

1->2->3->4->5 删除节点3

1->2->3->4->5->6 删除节点3

分析:如果链表长度为空或者长度为1,不需要调整,则直接返回;如果链表的长度为2,将头节点删除即可

当链表长度到达3,删除第二个节点即可;当链表长度增加到2,删除第三个节点,也就是每当长度增加2,就删除上一个节点的后一个节点。

如果要删除一个节点,则需要找到待删除节点的前一个节点

代码实现:

package com.ly;

public class removeMidNode {
    public static void main(String[] args){
        Node a = new Node(2,"1");
        Node b = new Node(3,"2");
        a.next = b;
        Node c = new Node(4,"3");
        b.next = c;
        Node d = new Node(5,"4");
        c.next = d;
        Node e = new Node(6,"5");
        d.next = e;
        System.out.println(func(a));
    }
    public static Node func(Node head){
        if(head == null && head.next == null){
            return head;
        }
        if(head.next.next == null){
            return head.next;
        }

        Node pre = head;
        Node cur = head.next.next;
        while (cur.next != null && cur.next.next != null){
            pre = head.next;
            cur = cur.next.next;
        }
        pre.next = pre.next.next;
        return head;
    }
}

运行结果:

可见第三个节点被我们删除了!

 

标签:Node,head,删除,--,next,链表,节点
From: https://www.cnblogs.com/99kol/p/16981090.html

相关文章

  • HTML 统一资源定位器(URL)
    URL-UniformResourceLocator当您点击HTML页面中的某个链接时,对应的<a>标签指向万维网上的一个地址。统一资源定位器(URL)用于定位万维网上的文档(或其他数据)。网址......
  • HTML URL 字符编码
    URL编码会将字符转换为可通过因特网传输的格式。 URL-统一资源定位器Web浏览器通过URL从web服务器请求页面。URL是网页的地址,比如 http://www.w3school.co......
  • HTML文档类型<!DOCTYPE>
    <!DOCTYPE>声明帮助浏览器正确地显示网页。<!DOCTYPE>声明Web世界中存在许多不同的文档。只有了解文档的类型,浏览器才能正确地显示文档。HTML也有多个不同的版本,只......
  • HTML响应式Web设计
    什么是响应式Web设计?RWD指的是响应式Web设计(ResponsiveWebDesign)RWD能够以可变尺寸传递网页RWD对于平板和移动设备是必需的主要是在CSS里面定义float等字段......
  • HTML字符实体
    HTML中的预留字符必须被替换为字符实体。HTML实体在HTML中,某些字符是预留的。在HTML中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签。如果希望正......
  • HTML 编码(字符集)
    为了正确显示HTML页面,Web浏览器必须知道要使用哪个字符集。从ASCII到UTF-8ASCII是第一个字符编码标准。ASCII定义了128种可以在互联网上使用的字符:数字(0-9)、英......
  • Proj4.js使用初步入门
    一、基础知识在正式使用Proj4.js时,我们首先需要了解下有关各种投影的参数定义(例如:椭球长半轴、扁率、原点纬线、中央经线、两条标准纬线、东偏移量、北偏移量和单位等),具......
  • 解决消费者从eureka注册中心获取的不是外网ip的问题
    因为生产者注册到注册中的不是ip,没有指定生产者所在服务的外网ip地址在配置文件中进行如下配置eureka.instance.prefer-ip-address=trueeureka.instance.ip-address=1......
  • taro 编译报:模块引入顺序不一致报错
    前情最近在开发一个小程序项目,基于公司的技术栈是React,于是使用Taro来开发小程序。坑位在开发中经常性的报类似如下的错误,大致意思是说你引入模块的顺序在不同模块中......
  • Mac 下 VMware Fusion Linux 虚拟机设置静态 IP
    首先打开Mac终端查看网关cat/Library/Preferences/VMware\Fusion/vmnet8/nat.conf#NATgatewayaddressip=172.16.57.2 #网关(GATEWAY)netmask=25......