LeetCode:2 Add Two Numbers
来源:互联网 发布:三菱伺服选型软件 编辑:程序博客网 时间:2024/06/10 12:35
2 Add Two Numbers
题目大意就说给了两个链表,每个链表代表一个数,链表中的数字是倒序排列的,相加这两个数把结果再以链表返回。
例子:Input: (2 -> 4 -> 3) + (5 -> 6 -> 4) Output: 7 -> 0 -> 8
感觉比较简单,遍历两个链表,对应相加,注意进位就好了。几个细节要注意:链表可能长度不等、最后当两个链表都结束之后可能还有进位。代码这样:
/** * 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 *result = NULL; ListNode *temp = NULL; int flag = 0; while ((l1 != NULL) || (l2 != NULL)) { int tmp; if (l2 == NULL) { tmp = l1->val + flag; flag = 0; l1 = l1->next; } else if (l1 == NULL) { tmp = l2->val + flag; flag = 0; l2 = l2->next; } else { tmp = l1->val + l2->val + flag; flag = 0; l1 = l1->next; l2 = l2->next; } if (tmp >= 10) { tmp = tmp - 10; flag = 1; } if (result == NULL) { result = new ListNode(tmp); temp = result; } else { temp->next = new ListNode(tmp); temp = temp->next; } } if (flag == 1) { temp->next = new ListNode(1); temp = temp->next; } return result; }};
0 0
- LeetCode 2 - Add Two Numbers
- LeetCode 2: Add Two Numbers
- Leetcode: Add Two Numbers (2)
- [leetcode 2] Add Two Numbers
- [Leetcode] 2 - Add Two Numbers
- LeetCode 2:《Add Two Numbers》
- LeetCode | #2 Add Two Numbers
- LeetCode 2 Add Two Numbers
- [Leetcode]2Add Two Numbers
- leetcode #2 Add Two Numbers
- leetcode-2 Add Two Numbers
- LeetCode 2 Add Two Numbers
- [leetcode] #2 Add Two Numbers
- LeetCode-2 Add Two Numbers
- LeetCode-2-Add Two Numbers
- Leetcode[2] Add Two Numbers
- LeetCode 2 Add Two Numbers
- LeetCode 2 Add Two Numbers
- iOS 之 OBJECTC 调用C、OBJECTC调用C++
- 【PAT】1035. 插入与归并(25)
- Nginx反向代理上传大文件报错(failed to load resource : net :: ERR_CONNECTION_RESET)
- Git
- 初学Phaser.js之碰撞检测
- LeetCode:2 Add Two Numbers
- NLTK提取全文词干
- processing 常用代码片段(持续更新)
- 2016寒假训练——寒假结束
- html之radio是否被选中的判断------radio只是input的type属性
- 在ubuntu 14.04上安装libqglviewer-qt4-dev包
- C++ 2杈树 完整
- hdu1175-连连看(简单bfs)
- Unity3d中的属性(Attributes)整理