2. Add Two Numbers 大数运算
来源:互联网 发布:圣地亚哥州立大学知乎 编辑:程序博客网 时间:2024/04/29 08:25
题目地址
注意长度不等时的情况
class Solution {public: ListNode *addTwoNumbers(ListNode *l1, ListNode *l2) { vector<int> v1, v2, v3; while (l1 != NULL) { v1.push_back(l1->val); l1 = l1->next; } while (l2 != NULL) { v2.push_back(l2->val); l2 = l2->next; } int i = 0, j = 0, k = 0; int carry = 0; while (i < v1.size() && j < v2.size()) { int now = (v1[i] + v2[j] + carry) % 10; carry = (v1[i] + v2[j] + carry) / 10; v3.push_back(now); i++; j++; } if (carry) { if (i < v1.size()) { while (i < v1.size()) { int now = (v1[i] + carry) % 10; carry = (v1[i] + carry) / 10; v3.push_back(now); i++; } } else if (j < v2.size()) { while (j < v2.size()) { int now = (v2[j] + carry) % 10; carry = (v2[j] + carry) / 10; v3.push_back(now); j++; } } if (carry) v3.push_back(carry); } else { while (i < v1.size()) v3.push_back(v1[i++]); while (j < v2.size()) v3.push_back(v2[j++]); } ListNode *p = new ListNode(v3[0]); ListNode *ans = p; for (int k = 1; k < v3.size(); ++k) { ListNode *temp = new ListNode(v3[k]); p->next = temp; p = temp; } return ans; }};
0 0
- 2. Add Two Numbers 大数运算
- 2.Add Two Numbers(medium)[链表处理 大数相加]
- [leetcode] 2. Add Two Numbers(链表、大数相加)
- 2. Add Two Numbers(两个大数相加)
- 2.Add Two Numbers
- 2.Add Two Numbers
- 2.Add Two Numbers
- 2.Add Two Numbers
- 2. Add Two Numbers
- 2. Add Two Numbers
- 2.Add Two Numbers
- 2. Add Two Numbers
- 2. Add Two Numbers
- 2. Add Two Numbers
- 2. Add Two Numbers
- 2. Add Two Numbers
- 2. Add Two Numbers
- 2. Add Two Numbers
- Python.matplotlib -- Python二维图表绘制
- MySQL索引背后的数据结构及算法原理
- Android Studio 配置
- verdi windows版本[使用debussy 5.4]
- Qt中的QTimer的应用
- 2. Add Two Numbers 大数运算
- BroadcastReceiver Android的广播解析
- 大一新生
- build path - Add Library
- Java IO流系列(五)—— 用法总结
- 补番推荐之治愈(虐心)神作
- CodeChef CHSEQ22 Chef and Favourite Sequence
- Vim自动补全神器:YouCompleteMe
- .bat文件