单链表删除给定值

简介: 单链表删除给定值
package com.harrison.class02;
public class Code03_DeleteGivenValue {
  public static class Node{
    public int value;
    public Node next;
    public Node(int v) {
      this.value=v;
    }
  }
  public static Node deleteGivenValue(Node head,int num) {
    while(head!=null) {
      if(head.value!=num) {
        break;
      }
      head=head.next;
    }
    //头结点来到第一个不需要删除的位置
    Node pre=head;
    Node cur=head;
    while(cur!=null) {
      if(cur.value==num) {
        pre.next=cur.next;
      }else {
        pre=cur;
      }
      cur=cur.next;
    }
    return head;
  }
  public static Node generateRandomLinkedList(int len, int value) {
    int size = (int) (Math.random() * (len + 1));
    if (size == 0) {
      return null;
    }
    size--;
    Node head = new Node((int) (Math.random() * (value + 1)));
    Node pre = head;
    while (size != 0) {
      Node cur = new Node((int) (Math.random() * (value + 1)));
      pre.next = cur;
      pre = cur;
      size--;
    }
    return head;
  }
  public static void printLinkedList(Node head) {
    if(head==null) {
      return;
    }
    while(head!=null) {
      System.out.print(head.value+" ");
      head=head.next;
    }
  }
  public static void main(String[] args) {
    int len=10;
    int value=10;
    Node node=generateRandomLinkedList(len,value);
    System.out.println("原单链表:");
    printLinkedList(node);
    deleteGivenValue(node, 5);
    System.out.println("\n删除给定值后的单链表:");
    printLinkedList(node);
  }
}
相关文章
|
8月前
|
JavaScript 前端开发 索引
如何判断一个值是否在数组内?
如何判断一个值是否在数组内?
|
8月前
|
存储 弹性计算 运维
添加两个值
【4月更文挑战第29天】
41 4
|
8月前
|
存储 弹性计算 运维
添加多个值
【4月更文挑战第29天】
31 2
|
8月前
59.已知xxz+yzz=532,求所有可能的x,y,z的值
59.已知xxz+yzz=532,求所有可能的x,y,z的值
51 0
|
8月前
34.设s=1+1/2+1/3+…+1/n,求与8最接近的s的值及与之对应的n值
34.设s=1+1/2+1/3+…+1/n,求与8最接近的s的值及与之对应的n值
131 0
|
8月前
|
索引
Leetcode 给定一个数组,给定一个数字。返回数组中可以相加得到指定数字的两个索引
Leetcode 给定一个数组,给定一个数字。返回数组中可以相加得到指定数字的两个索引
|
8月前
|
前端开发 数据库
两个map中的数据,按照相同键,将所对应的值相加方法
两个map中的数据,按照相同键,将所对应的值相加方法
|
存储 算法 JavaScript
设计并实现一个函数, 功能为给定一个存储为随机整数的数组,从中删除所有值为i的整数
设计并实现一个函数, 功能为给定一个存储为随机整数的数组,从中删除所有值为i的整数
|
人工智能 Unix BI
1370:最小函数值(minval)
1370:最小函数值(minval)
|
Python
在数组中寻找和目标值相等的两个值
在数组中寻找和目标值相等的两个值
78 0

热门文章

最新文章