给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。
如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。
您可以假设除了数字 0 之外,这两个数都不会以 0 开头。
class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode head=new ListNode(0);
ListNode current=head;
int flag=0;
while(l1!=null || l2!=null)
{
ListNode node=new ListNode(flag);
if(l1!=null)
{
node.val+=l1.val;
l1=l1.next;
}
if(l2!=null)
{
node.val+=l2.val;
l2=l2.next;
}
if(node.val>=10)
{
node.val-=10;
flag=1;
}
else
{
flag=0;
}
current.next=node;
if(l1==null && l2==null && flag==1)
{
node.next=new ListNode(flag);
break;
}
current=current.next;
}
return head.next;
}
}