java中链表删除节点

问题描述 投票:0回答:1
import java.util.*;
import java.util.LinkedList;
public class Practice1 {

    public static void deleteNode(LinkedList<Integer> list ,  int i) {
        list.remove(); {
            if(list.get(i) > 25) {
            System.out.println(list);
            }
        }    
    }    
     
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        LinkedList<Integer> list = new LinkedList<>();
        int n= sc.nextInt();
        for(int i=0; i<n; i++) {
            list.add(sc.nextInt());
        }
        System.out.print(list+" ");
        deleteNode(list, 0);
    }
}

找到并修复错误

java linked-list
1个回答
0
投票

您的代码将始终删除

LinkenList
的头部(第一个元素),因为您使用的是不带参数的
remove
方法。如果需要删除具体节点 - 只需使用
i
作为
remove
方法的参数。

import java.util.LinkedList;
import java.util.Scanner;

public class Main {
    public static void deleteNode(LinkedList<Integer> list ,  int i) {
        list.remove(i);

        System.out.println(list);
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        LinkedList<Integer> list = new LinkedList<>();

        int n = sc.nextInt();
        for (int i = 0; i < n; i++) {
            list.add(sc.nextInt());
        }

        System.out.println(list);

        deleteNode(list, 0);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.