Java 反向链表给出错误答案

Java 反向链表给出错误答案,java,Java,我有以下代码来反转链表 但我现在正在接受NPE head.next=prev; 我如何解决它 ListNode l = new ListNode(); l.insert(4); l.insert(10); l.insert(12); l.show(); l.reverse(); l.show(); public void reverse()

我有以下代码来反转链表 但我现在正在接受NPE head.next=prev; 我如何解决它

    ListNode l = new ListNode();
            l.insert(4);
            l.insert(10);
            l.insert(12);

            l.show();
            l.reverse();
            l.show();

public void reverse() {
        ListNode nextNode = null;
        ListNode curr = head;
        ListNode prev = null;

        while (curr != null) {

            nextNode = curr.next;
            curr.next = prev;
            prev = curr;
            curr = nextNode;
        }

        head = curr;
        head.next = prev;

    }

你正在检查
curr
是否为空,而你应该检查
curr。下一步
是否为空。

我在手机上,但我第一次看到的是

head=curr超出while循环,这意味着null也将添加到head和下一行中

head.next=prev我们使用“点”执行了一个操作。我觉得那会导致失败


这是唯一的问题吗

水头=电流;如果curr为null,也会执行此操作。很可能是你的问题(至少一个)