大神的代码好短,自己写的120多行=_= 各种判断
ListNode *f(ListNode *l1, ListNode *l2) {ListNode *p1 = l1;ListNode *p2 = l2;ListNode *res = new ListNode(0);ListNode *p3 = res;int sum = 0;while (p1 != NULL || p2 != NULL) { //这里用“或”sum /= 10; //进位if (p1 != NULL) { //这样一来位数不同的就不用分开讨论了sum += p1->val;p1 = p1->next;}if (p2 != NULL) {sum += p2->val;p2 = p2->next;}p3->next = new ListNode(sum % 10); //不用新建指针p3 = p3->next;}if (sum >= 10) {p3->next = new ListNode(1);}return res->next; //这样就省了不少讨论}