LeetCode2. 两数相加

tech2022-10-21  98

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { int t = 0; # 凡是需要特判第一个点的都需要增加一个虚拟头节点 # 如果不加虚拟头节点。当插入第一个节点时候要先创建一个节点,这就要特判一下 auto dummy = new ListNode(-1), cur = dummy; while(l1 || l2 || t){ if(l1) t += l1->val, l1 = l1->next; if(l2) t += l2->val, l2 = l2->next; cur = cur->next = new ListNode(t % 10); t /= 10; } # 为了防止内存泄露,删除虚拟头节点 delete dummy return dump->next; } };
最新回复(0)