问题:
解题:
分析:直接用字符串数组操作最快
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
int upNum = 0, sum;
boolean f1, f2;
ListNode returnNote = l1;
ListNode tempNode = l1;
while (null != tempNode) {
f1 = null == l1;
f2 = null == l2;
sum = (f1 ? 0 : l1.val) + (f2 ? 0 : l2.val) + upNum;
if (sum > 9) {
tempNode.val = sum - 10;
upNum = sum / 10;
} else {
tempNode.val = sum;
upNum = 0;
}
l1 = f1 ? null : l1.next;
l2 = f2 ? null : l2.next;
if (null == l1 && null == l2) {
if (upNum > 0) {
tempNode.next = new ListNode(upNum);
}
break;
} else if (null == l1) {
tempNode.next = l2;
}
tempNode = tempNode.next;
}
return returnNote;
}
}
性能:
考虑各种便捷比较费时间,需要多注意,创建最少的对象,节省时间