ruijiege

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
package cn.jiedada.controller;

/**
 * 两数相加
 *
 */
class Solution {
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        //临时变量存储数据
        ListNode p1=l1, p2=l2;
        //临时变量才能够返回对应的值
        ListNode dummy = new ListNode(-1);
        ListNode p=dummy;
        //计算加的数
        int newVal = 0;
        int carry = 0;
        while (p1 !=null || p2 !=null || carry>0){
            //计算相加
            newVal = (p1 == null?0:p1.val)+(p2 == null?0: p2.val)+carry;
            //进位
            carry = newVal/10;
            //保存到返回链表的值
            newVal %= 10;
            p.next = new ListNode(newVal);
            p1 = p1 == null?null:p1.next;
            p2 = p2 == null?null:p2.next;
            //添加数据

            p=p.next;
        }
        return dummy.next;
    }
}

 

posted on 2021-07-15 11:31  哦哟这个怎么搞  阅读(38)  评论(0编辑  收藏  举报