Add Two Numbers
来源:互联网 发布:微信朋友圈 淘宝链接 编辑:程序博客网 时间:2024/06/07 13:26
/**
* 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) {
if (l1 == NULL) return l2;
if (l2 == NULL) return l1;
ListNode *resList = NULL, *pNode = NULL, *pNext = NULL;
ListNode *p = l1, *q = l2;
int up = 0;
while(p != NULL && q != NULL)
{
pNext = new ListNode(p->val + q->val + up);
up = pNext->val / 10;
pNext->val = pNext->val % 10;
if (resList == NULL)
{
resList = pNode = pNext;
}
else
{
pNode->next = pNext;
pNode = pNext;
}
p = p->next;
q = q->next;
}
while (p != NULL)
{
pNext = new ListNode(p->val + up);
up = pNext->val / 10;
pNext->val = pNext->val % 10;
pNode->next = pNext;
pNode = pNext;
p = p->next;
}
while (q != NULL)
{
pNext = new ListNode(q->val + up);
up = pNext->val / 10;
pNext->val = pNext->val % 10;
pNode->next = pNext;
pNode = pNext;
q = q->next;
}
if (up > 0)
{
pNext = new ListNode(up);
pNode->next = pNext;
}
return resList;
}
};
* 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) {
if (l1 == NULL) return l2;
if (l2 == NULL) return l1;
ListNode *resList = NULL, *pNode = NULL, *pNext = NULL;
ListNode *p = l1, *q = l2;
int up = 0;
while(p != NULL && q != NULL)
{
pNext = new ListNode(p->val + q->val + up);
up = pNext->val / 10;
pNext->val = pNext->val % 10;
if (resList == NULL)
{
resList = pNode = pNext;
}
else
{
pNode->next = pNext;
pNode = pNext;
}
p = p->next;
q = q->next;
}
while (p != NULL)
{
pNext = new ListNode(p->val + up);
up = pNext->val / 10;
pNext->val = pNext->val % 10;
pNode->next = pNext;
pNode = pNext;
p = p->next;
}
while (q != NULL)
{
pNext = new ListNode(q->val + up);
up = pNext->val / 10;
pNext->val = pNext->val % 10;
pNode->next = pNext;
pNode = pNext;
q = q->next;
}
if (up > 0)
{
pNext = new ListNode(up);
pNode->next = pNext;
}
return resList;
}
};
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
- Lattice Point or Not
- JAVA设计模式之单例模式
- Redis源码剖析和注释(十)--- 列表键命令实现(t_list)
- 我的编程规范
- LaTex特殊符号
- Add Two Numbers
- 求全排列
- SVN管理命令
- Spring之如何导入包到已有工程中
- linux下安装numpy
- Lecture 20 Parallel Algorithms I
- 前端组件练习
- 一步一步学springboot 一
- jsDOM元素创建: