题解 | #从单向链表中删除指定值的节点#

从单向链表中删除指定值的节点

https://www.nowcoder.com/practice/f96cd47e812842269058d483a11ced4f

package NewComer.medium;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

/**
 * 输入一个单向链表和一个节点的值,从单向链表中删除等于该值的节点,删除后如果链表中无节点则返回空指针。
 * 链表的值不能重复。
 * 构造过程,例如输入一行数据为:
 * 6 2 1 2 3 2 5 1 4 5 7 2 2
 * 则第一个参数6表示输入总共6个节点,第二个参数2表示头节点值为2,剩下的2个一组表示第2个节点值后面插入第1个节点值,为以下表示:
 */
public class HJ48_从单向链表中删除指定值的节点 {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    while (sc.hasNext()) {
      int total = sc.nextInt();
      int head = sc.nextInt();
      ArrayList<Integer> linkedlist= new ArrayList<Integer>();

      linkedlist.add(head);
      for(int i=0;i<total-1;i++){  //6个节点 连接5次,故total-1
        int next = sc.nextInt();  //后一个指针
        int pre = sc.nextInt();      //前一个指针
        linkedlist.add(linkedlist.indexOf(pre)+1,next);  //把后一个指针插在前一个指针的位置的后面
      }
      int k = sc.nextInt();
      linkedlist.remove(linkedlist.indexOf(k));

      for(int x:linkedlist){
        System.out.print(x+" ");
      }


    }
  }
}

全部评论

相关推荐

谁知道呢_:要掉小珍珠了,库库学三年,这个结果
点赞 评论 收藏
分享
ALEX_BLX:虽然说聊天记录不可信,不过这个趋势确实如此但我觉得也要想到一点就是卷后端的人里真正有“料”的人又有多少,我说的这个料都不是说一定要到大佬那种级别,而是就一个正常的水平。即使是现在也有很多人是跟风转码的,2-3个月速成后端技术栈的人数不胜数,但今时不同往日没可能靠速成进大厂了。这种情况就跟考研一样,你能上考场就已经打败一半的人了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务