链表之删除链表中间节点

举报
chenyu 发表于 2021/07/27 01:07:19 2021/07/27
【摘要】 题目: 链表之删除链表中间节点 思路: 方法1: 我们先得到链表的长度,如果是奇数的话加一除以2,如果是偶数直接除以二,  得到的长度,然后从头结点开始遍历得到的长度前一个节点,然后把它删除   方法2: 比如链表是1 、2  删除节点1 比如链表是1 、2、3  删除节点2 比...

题目:

链表之删除链表中间节点

思路:

方法1:

我们先得到链表的长度,如果是奇数的话加一除以2,如果是偶数直接除以二,
 得到的长度,然后从头结点开始遍历得到的长度前一个节点,然后把它删除
 

方法2:

比如链表是1 、2  删除节点1
比如链表是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,删除第二个节点
当链表的长度为4的时候,应该删除第二个节点,当链表长度为5的时候,应该删除第3个节点。
总结:链表的长度没增加2(3,5,7),要删除的节点就后移一个节点。
 

代码实现:


   
  1. package com.chenyu.zuo.linkedList;
  2. import com.chenyu.zuo.linkedList.RemoveLastNodeSingleLinked.Node;
  3. public class RemoveMidNode {
  4. public class Node{
  5. public int value;
  6. public Node next;
  7. public Node(int value){
  8. this.value=value;

文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。

原文链接:chenyu.blog.csdn.net/article/details/50286899

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。