LeetCode OJ:Add Two Numbers
来源:互联网 发布:网络营销策划书的类型 编辑:程序博客网 时间:2024/06/06 05:15
Description
You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.
You may assume the two numbers do not contain any leading zero, except the number 0 itself.
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
Code
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ //此题考虑要全面:l1和l2两个链表不一定等长;最后两个数相加之后是否为两位数。为减少内存分配,直接把计算结果存放在l1或者l2中即可。class Solution {public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode* pt,*s; //pt用来循环,s总是指向pt的后一个位置 pt = l1; int m,n=0; //m,n分别记录两个数相加之后的个位和十位 while(pt&&l2){ m = pt->val + l2->val + n; n = m /10; m = m %10; pt->val = m; l2 = l2->next; s= pt; pt = pt->next; } if(pt){ //l1比l2长 while(pt){ m = pt->val + n; n = m / 10; m=m%10; pt->val = m; s= pt; pt = pt->next; } }else if(l2){ //l2比l1长 while(l2){ m = l2->val + n; n = m / 10; m=m%10; l2->val = m; s->next= l2; s = l2; l2 = l2->next; } } if(n==1){ //最后两个数相加为两位数,要另外分配一个存储块。 ListNode* p=new ListNode(0); p->val = n; p->next = NULL; s->next = p; } return l1; }};
1 0
- LeetCode OJ:Add Two Numbers
- LeetCode OJ - Add Two Numbers
- LeetCode OJ Add Two Numbers
- LeetCode OJ - Add two Numbers
- LeetCode OJ ----Add Two Numbers
- LeetCode OJ:Add Two Numbers
- Leetcode OJ:Add Two Numbers
- [LeetCode OJ][002]Add Two Numbers
- 【LeetCode OJ 002】Add Two Numbers
- LeetCode OJ #2 Add Two Numbers
- LeetCode OJ 02 Add Two Numbers
- LeetCode OJ : 2 Add Two Numbers
- <LeetCode OJ> 2. Add Two Numbers
- LeetCode OJ 2.Add Two Numbers
- LeetCode OJ 2. Add Two Numbers
- LeetCode OJ(2.Add Two Numbers)
- 三、[LeetCode OJ]Add Two Numbers
- LeetCode OJ-2.Add Two Numbers
- 方法体执行完,线程会释放吗?
- 路由器与网桥的区别
- 高并发与大数据解决方案概述
- 博弈论
- oracle之数值取整问题
- LeetCode OJ:Add Two Numbers
- Android--面试中遇到的问题总结(四)
- 解析XML
- centos安装redis
- [华为OJ--C++]040-输入n个整数,输出其中最小的k个
- 数据库
- 微信公众号开发
- 在使用事务尾部日志备份时报错‘由于在请求 'COMPRESSION' 之前使用不兼容的结构格式化了介质’
- Qt Graphics View 框架