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

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

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

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.Scanner;

public class Main{
    public static void main(String[] args) throws IOException{
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        String[] numsStr = input.split(" ");
        int[] nums = new int[numsStr.length];
        for (int i = 0; i < numsStr.length; i++) {
            nums[i] = Integer.parseInt(numsStr[i]);
        }
        int count = nums[0];
        int first = nums[1];
        int delete = nums[nums.length - 1];
        LinkedList<Integer> list = new LinkedList<>();
        list.add(first);
        // 添加节点
        for (int i = 2; i < nums.length - 1; i += 2) {
            int before = nums[i + 1];
            int insert = nums[i];

            list.add(list.indexOf(before) + 1, insert);
        }
        // 删除节点
        list.remove(list.indexOf(delete));
        for (Integer integer : list) {
            System.out.print(integer + " ");
        }
    }
}

全部评论

相关推荐

已老实求offer😫:有点像徐坤(没有冒犯的意思哈)
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务