首页 新闻 会员 周边

Java 一个对象,多个引用的问题

0
悬赏园豆:5 [待解决问题]
    public static ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        int carry = 0;
        ListNode p, dummy = new ListNode(0);
        p = dummy;
        while (l1 != null || l2 != null || carry != 0) {
            if (l1 != null) {
                carry += l1.val;
                l1 = l1.next;// 想前移动一个node
            }
            if (l2 != null) {
                carry += l2.val;
                l2 = l2.next;
            }
            p.next = new ListNode(carry%10);
            carry /= 10;// 余数留做下一个节点的数据,参与计算
            p = p.next;
        }
        return dummy.next; // 初始第一个val为0, 只作为占位
    }

这里,p, dummp 都是指向同一个对象的引用,但是p, dummp 的值为什么不一样呢?

Free丶Will的主页 Free丶Will | 初学一级 | 园豆:189
提问于:2019-07-24 16:09
< >
分享
所有回答(3)
0
p=dummp.next
小光 | 园豆:1766 (小虾三级) | 2019-07-24 16:13
1
p.next = new ListNode(carry%10);
carry /= 10;// 余数留做下一个节点的数据,参与计算
p = p.next;

p已经指向其他地方了

会长 | 园豆:12401 (专家六级) | 2019-07-24 16:15
0

p = p.next;
p这个引用已经指向其他地方了

宿舍老五啊 | 园豆:86 (初学一级) | 2019-08-15 09:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册