leetcode2 add two numbers
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode2 add two numbers相关的知识,希望对你有一定的参考价值。
一开始本想用函数把两个链表代表的数字都加起来,然后再取每一位数字合成链表,结果发现因为数字位数太多类似大整数,无法直接求出和,所以必须每一位都相加然后组成链表。
/** * 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) { ListNode* s; s = NULL; ListNode* curs; int sum = 0; while (l1 != NULL || l2 != NULL) { if (l1 != NULL) { sum += l1->val; l1 = l1->next; } if (l2 != NULL) { sum += l2->val; l2 = l2->next; } if (s == NULL) { s = new ListNode(sum % 10); curs = s; } else { curs->next = new ListNode(sum % 10); curs = curs->next; } sum /= 10; } if (sum == 1) { curs->next = new ListNode(1); } return s; } };
以上是关于leetcode2 add two numbers的主要内容,如果未能解决你的问题,请参考以下文章