题目:
解答 代码:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
if(l1==null && l2==null) return null;
ListNode l3=new ListNode(0); //定义一个新的链表
ListNode pre=l3; //定义一个操作链表
int flat=0; //用来表示是否进位
while(l1!=null || l2!=null){
//相加 还要判断两边的链表为不为null
int add1=l1==null?0:l1.val;
int add2=l2==null?0:l2.val;
int sum=add1+add2+flat;
pre.next=new ListNode(sum%10);
flat=sum/10;
if(l1!=null) l1=l1.next;
if(l2!=null)l2=l2.next;
pre=pre.next;
}
if(flat==1) pre.next=new ListNode(1);
return l3.next;
}
}