这题呢,有点小坑。
你试试result这个节点存储有效数据就知道我所说的坑点了。
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
int flag=0;
ListNode node1=l1;
ListNode node2=l2;
ListNode result=new ListNode(0);
ListNode node3=result;
while(node1!=null || node2!=null){
int tem=0;
node3.next=new ListNode(0);
node3=node3.next;
tem+=node1==null?0:node1.val;
tem+=node2==null?0:node2.val;
tem+=flag;
node1=node1==null?null:node1.next;
node2=node2==null?null:node2.next;
node3.val=tem%10;
flag=tem/10;
}
if(flag==1){
node3.next=new ListNode(1);
}
return result.next;
}
本文深入探讨了链表加法的实现细节,特别是在处理进位和空节点时的潜在陷阱。通过具体示例代码,展示了如何正确地进行链表节点的创建、连接以及最终结果的返回。
230

被折叠的 条评论
为什么被折叠?



