用链表实现大整数加法
2017-04-25 15:25
274 查看
背景:LeetCode - 2. 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 *ret = l1, *pre = l1; int up = 0; while (l1 != NULL && l2 != NULL) { l1->val = l1->val + l2->val + up; up = l1->val / 10; l1->val %= 10; pre = l1; l1 = l1->next; l2 = l2->next; } if (l1 == NULL) pre->next = l2; l1 = pre->next; while (l1 != NULL) { l1->val = l1->val + up; up = l1->val / 10; l1->val %= 10; pre = l1; l1 = l1->next; } if (up != 0) { ListNode *tmp = new ListNode(up); pre->next = tmp; } return ret; } };
相关文章推荐
- 有链表实现长整数的加法
- [转]双链表实现大整数的加法与乘法[VC++]
- 双链表实现大整数的加法与乘法[VC++]
- php实现大整数加法
- Java课程设计 大整数类 实现加法
- C语言数组加链表实现大数的加法乘法
- A+B长整数的加法(算法实现)
- 用链表模拟大整数加法运算
- 大整数加法(C程序实现)
- C++大作业之链表实现的高精度加法,减法,和数组实现的高精度乘法。
- 用string实现大整数加法。
- 链表实现一元多项式加法
- php实现大整数加法
- 使用数组实现大整数加法
- 使用数组实现大整数加法
- 11.用链表模拟大整数加法运算
- 怎样编写一个程序,把一个有序整数数组放到二叉树中? 编写实现链表排序的一种算法。说明为什么你会选择用这样的方法?
- A+B长整数的加法(算法实现)
- 用单链表实现两个大型整数的相加
- 数据结构作业 ------ 用链表实现简单多项式加法