时间复杂度O(n),beat 89%
public class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
int sign=0;
int num1=0;
int num2=0;
int sum=0;
int result;
ListNode node1=l1;
ListNode node2=l2;
ListNode resultNode=new ListNode(0);
ListNode tailNode=resultNode;
while(node1!=null || node2!=null){
if(node1!=null && node2!=null){
num1=node1.val;
num2=node2.val;
node1=node1.next;
node2=node2.next;
}
else if(node1!=null){
num1=node1.val;
num2=0;
node1=node1.next;
}
else {
num1=0;
num2=node2.val;
node2=node2.next;
}
sum=num1+num2+sign;
result=sum%10;
ListNode curNode=new ListNode(result);
tailNode.next=curNode;
tailNode=curNode;
sign=sum/10;
}
if(sign!=0){
ListNode curNode=new ListNode(sign);
tailNode.next=curNode;
}
return resultNode.next;
}
}