链表之删除链表中间节点
【摘要】 题目:
链表之删除链表中间节点
思路:
方法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 、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),要删除的节点就后移一个节点。
代码实现:
-
package com.chenyu.zuo.linkedList;
-
-
import com.chenyu.zuo.linkedList.RemoveLastNodeSingleLinked.Node;
-
-
public class RemoveMidNode {
-
public class Node{
-
public int value;
-
public Node next;
-
public Node(int value){
-
this.value=value;
文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。
原文链接:chenyu.blog.csdn.net/article/details/50286899
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)