链表之删除链表中间节点

133 阅读1分钟

题目:

链表之删除链表中间节点

思路:

方法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),要删除的节点就后移一个节点。

 

代码实现:

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;

创作打卡挑战赛

赢取流量/现金/CSDN周边激励大奖