Java 什么';我的递归有什么问题?尝试在每次遍历中添加两个节点

Java 什么';我的递归有什么问题?尝试在每次遍历中添加两个节点,java,data-structures,Java,Data Structures,似乎我的线性链表没有为每个递归连接。需要解释为什么我的代码不工作 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode addTwoNumbers(ListN

似乎我的线性链表没有为每个递归连接。需要解释为什么我的代码不工作

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */


public class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        if(l1 == null)
            return null;
        int val = l1.val + l2.val;
        ListNode newNode = new ListNode(val);
        System.out.println(newNode.val);
        return newNode.next = addTwoNumbers(l1.next, l2.next);
    }
}
你的意见

[2,4,3] [5,6,4]

你的性病

七, 10 七,

你的回答

[]

预期答案


[7,10,7]

我认为您没有返回newNode.next。 必须使用newNode调用递归方法。下一步,但必须返回newNode。 注意:如果(l2==null)返回null,记得添加

更改

return newNode.next = addTwoNumbers(l1.next, l2.next);


恕我直言,你不需要我们来做这个练习。在调试器下运行代码并亲自查看。我确实返回了newNode。@MikeNguyen如果返回newNode,似乎没有任何问题
newNode.next = addTwoNumbers(l1.next, l2.next);
return newNode