leetcode 两数相加 中等
没什么坑点,一个一个挨着加上就行了,注意细节就能 1A。
class Solution { public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode* head, *pre, *ans; pre = new ListNode; ans = pre; int flag = 0; while(l1 || l2) { head = new ListNode; head -> val = ((l1 ? l1 -> val : 0) + (l2 ? l2 -> val : 0) + flag) % 10; pre -> next = head; pre = head; flag = ((l1 ? l1 -> val : 0) + (l2 ? l2 -> val : 0) + flag) / 10; if(l1) l1 = l1 -> next; if(l2) l2 = l2 -> next; } if(flag) { head = new ListNode; head -> val = 1; pre -> next = head; } return ans -> next; } };