猿问

如何在调用 addfirst 方法后打印整个列表?

我如何纠正我的 addFirst 方法以及如何使我的 removeFirst 方法工作,因为它不会删除?我应该如何实施?


public class LinkedList{

    public static  void main(String[] args) {

        LinkedList l = new LinkedList();

        l.addFirst("c");

        //l.removeFirst("m");

        l.addFirst("b");

        System.out.println(l.first.data);

        System.out.println(l.first.data);

    }

    public Node first;

    static class Node {

        String data;

        Node next;

    }

    private void addFirst(String s){

        Node newNode = new Node();

        newNode.data=s;

        newNode.next=first;

        first=  newNode;

    }

    private void removeFirst(String s){

        //Node n1 = new Node();

        first.next = null;

    }

}

我希望结果是:


b    

c

但仅b被打印。


繁花如伊
浏览 88回答 2
2回答

HUWWW

您正在打印相同的值两次,请尝试以下操作:System.out.println(l.first.next.data);在链表类中,第一个(或头)节点将包含下一个节点,因此您必须调用第一个节点,然后调用下一个节点数据。例子:LinkedList l = new LinkedList();l.addFirst("c");l.addFirst("b");l.addFirst("z");System.out.println(l.first.data);System.out.println(l.first.next.data);System.out.println(l.first.next.next.data);

三国纷争

除 main 之外的每个函数都返回链表。添加或删除节点后,您必须在主函数中返回链表,然后您可以打印整个链表
随时随地看视频慕课网APP

相关分类

Java
我要回答