0
点赞
收藏
分享

微信扫一扫

力扣2. 两数相加 Java

小迁不秃头 2022-02-13 阅读 65

2. 两数相加

思路

新建一个链表保存结果,记录两个链表每个对应节点相加的值,并记录进位,还要判断两个链表当前操作节点是否为空

代码:

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        ListNode l3=new ListNode(0);
        ListNode cur=l3;
        ListNode p=l1;
        ListNode q=l2;
        int carry=0;
        while(p!=null || q!=null || carry!=0){
            int x=p!=null? p.val:0;
            int y=q!=null? q.val:0;
            int sum=x+y+carry;
            carry=sum/10;
            cur.next=new ListNode(sum%10);
            cur=cur.next;
            p=p==null? null:p.next;
            q=q==null? null:q.next;
        }
    return l3.next;
    }
}
举报

相关推荐

0 条评论