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的主要内容,如果未能解决你的问题,请参考以下文章

leetcode2. Add Two Numbers

leetcode2. Add Two Numbers

Leetcode2. Add Two Numbers

Leetcode2 Add Two Numbers

Leetcode2. Add Two Numbers 两数相加

leetcode2 add two numbers