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

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

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

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        while (scan.hasNextLine()) {
            //,剩下的2个一组表示第2个节点值后面插入第1个节点值,
            //6 2   1 2   3 2   5 1   4 5   7 2     2
            String str = scan.nextLine();
            String[] arr = str.split(" ");
            //第一个参数6表示输入总共6个节点
            //第二个参数2表示头节点值为2  链表的值不能重复。
            //链表的头  链表的索引下标
            //4 输入要删除的结点的值
            ArrayList<Integer> list = new ArrayList<Integer>();
            list.add(0, Integer.valueOf(arr[1]));
            //总共有num组
            int num = Integer.valueOf(arr[0]);
            for (int i = 2; i < arr.length - 1; i++) {
                int k  = list.indexOf(Integer.valueOf(arr[i + 1]));
                list.add(k + 1, Integer.valueOf(arr[i]));
                // System.out.println("list:" +list + "k:" + k + "arr[i+1:" +arr[i+1] );
                i++;
            }
           // System.out.println(list);
            //输入要删除的结点的值
            int re = Integer.valueOf( arr[arr.length - 1]);
            list.remove(list.indexOf(re));
            System.out.println(list.toString().replaceAll(",", "").replace("[",
                               "").replace("]", ""));



        }
    }
}

全部评论

相关推荐

废物一个0offer:认真的吗二本本科找人工智能岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-01 11:27
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务