两数相加

2020-06-16  本文已影响0人  知识分享share
输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
输出:7 -> 0 -> 8
原因:342 + 465 = 807

class ListNode{
    int val;
    ListNode next;
    ListNode(int x){
        val = x;
    }
}
static ListNode addTwoNumbers(ListNode l1,ListNode l2){
        ListNode dummyHead= new ListNode(0);
        ListNode p=l1,q=l2,curr=dummyHead;
        int carry=0;
        while(p!=null||q!=null){
            int x=(p!=null)?p.val:0;
            int y=(q!=null)?q.val:0;
            int sum=carry+x+y;
            carry=sum/10;
            curr.next=new ListNode(sum%10);
            curr=curr.next;
            if(p!=null)p=p.next;
            if(q!=null)q=q.next;
        }
        if(carry>0){
            curr.next=new ListNode(carry);
        }
        return dummyHead.next;
    }
上一篇 下一篇

猜你喜欢

热点阅读