Add Two Numbers
来源:互联网 发布:js数组删除元素splice 编辑:程序博客网 时间:2024/06/05 06:02
题目分析
1. 给出两个队列,做高精度加法,不存在前导零。
2. 这道题本身没有什么难度,不过在看过Top Solution之后学到用一个前导的指针作为开头代码能够写得更好看一些。
3. 以后也要多看Top Solution,学习一些比较好的写法。
题目代码
class Solution { public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode* p1 = l1; ListNode* p2 = l2; ListNode* resultTail = NULL; ListNode* resultHead = NULL; int carry = 0; while (p1 != NULL || p2 != NULL) { ListNode * temp = new ListNode(((p1 == NULL ? 0 : p1->val) + (p2 == NULL ? 0 : p2->val) + carry) % 10); carry = ((p1 == NULL ? 0 : p1->val) + (p2 == NULL ? 0 : p2->val) + carry) / 10; if (resultHead == NULL) resultHead = temp; if (resultTail != NULL) resultTail->next = temp; resultTail = temp; p1 = (p1 == NULL ? NULL : p1->next); p2 = (p2 == NULL ? NULL : p2->next); } if (carry != 0) resultTail->next = new ListNode(carry); return resultHead; } };
class Solution {public:ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {ListNode* p1 = l1;ListNode* p2 = l2;ListNode* resultHead = new ListNode(0);ListNode* resultTail = resultHead;int carry = 0;while (p1 != NULL || p2 != NULL) {ListNode * temp = new ListNode(((p1 == NULL ? 0 : p1->val) + (p2 == NULL ? 0 : p2->val) + carry) % 10);carry = ((p1 == NULL ? 0 : p1->val) + (p2 == NULL ? 0 : p2->val) + carry) / 10;resultTail->next = temp;resultTail = temp;p1 = p1 == NULL ? NULL : p1->next;p2 = p2 == NULL ? NULL : p2->next;}if (carry != 0) resultTail->next = new ListNode(carry); return resultHead->next;}};
0 0
- Add two numbers & Add binary
- LeetCode: Add Two Numbers
- Add Two Numbers
- LeetCode: Add Two Numbers
- [LeetCode]Add Two Numbers
- LeetCode Add Two Numbers
- Leetcode: Add Two Numbers
- Add Two Numbers
- LeetCode : Add Two Numbers
- LeetCode Add Two Numbers
- [LeetCode] Add Two Numbers
- LeetCode4: Add Two Numbers
- Leetcode : Add Two Numbers
- Add Two Numbers
- 【leetcode】Add Two Numbers
- add two numbers
- Add Two Numbers
- Add Two Numbers
- 1039. Course List for Student (25)PAT甲级
- Ability To Convert
- Wifi模块——ESP8266(三)
- [区间GCD预处理 树状数组 离线] HDU 5869 Different GCD Subarray Query
- BZOJ3164: [Heoi2013]Eden的博弈问题
- Add Two Numbers
- File类
- 关于Linux xfs文件系统修复的文章
- Android开机自启动应用通过广播
- redis INFO命令详解
- (六)选项卡的设置
- java的String类和StringBuffer的应用 冒泡排序 选择元素 二分查找
- URL 的查询字符串,比如localhost:8080?name=Alice里面的name,可以用req.query.name拿到。请修改一个路由,使之可以收到查询字符串,然后输出'Hello ' +
- 图的DFS和BFS遍历