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; } }