第2题拖了好久,原因一就是第一遍没做对,原因二就是懒。今天正好有状态,麻利的就写出来了。
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode list = new ListNode(0);
ListNode head = list;
boolean ten = false;
while(l1!=null||l2!=null||ten){
int a , b;
if(l1==null){
a = 0;
}else{
a = l1.val;
}
if(l2==null){
b = 0;
}else{
b = l2.val;
}
int result = a + b;
if(ten){
result = result + 1;
}
if(result>=10){
ten = true;
result = result - 10;
}else{
ten = false;
}
ListNode li = new ListNode(result);
list.next = li;
list = li;
if(l1!=null)
l1 = l1.next;
if(l2!=null)
l2 = l2.next;
}
return head.next;
}
就这些,应该不算难。