kangabo 2021-07-09 20:09 采纳率: 85.1%
浏览 427
已采纳

为什么ListNode链表,节点.next能指向下一个节点,是里面代码那几行导致的。

里面ListNode应该理解成链表还是节点?

public class ListNode {
    int val;
    ListNode next = null;
 
    ListNode(int val) {
        this.val = val;
    }
 
    // 添加新的结点
    public void add(int newval) {
        ListNode newNode = new ListNode(newval);
        if (this.next == null)
            this.next = newNode;
        else
            this.next.add(newval);
    }
 
    // 打印链表
    public void print() {
        System.out.print(this.val);
        if (this.next != null) {
            System.out.print("-->");
            this.next.print();
        } else {
            System.out.println();
        }
    }
}
  • 写回答

3条回答 默认 最新

  • 居庆说数 2021-07-09 20:15
    关注

    ListNode 代表的是链表中的节点。
    类中有两个属性:val 和 next;其中val代表的就是这个节点中存的值,next代表的就是这个节点的下一个节点是什么。
    在这种情况下,遍历一个个节点的next,就组成了一个完整的链表。

    add()方法就是给属性next赋值的。

    回复不易,如果我的回复对你有所帮助的话,请记得采纳哦~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已采纳回答 7月9日
  • 创建了问题 7月9日