LeetCode 第二题两数相加 C语言
2018-12-14 21:59
387 查看
代码
[code]/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2) { int Sum = 0,Carry = 0; struct ListNode *PL1 = l1,*PL2 = l2; struct ListNode *NewHead,*P1,*P2; int Tem1 = l1->val,Tem2 = l2->val; NewHead = (struct ListNode *)malloc(sizeof (struct ListNode)); P1= NewHead; P2 = P1; while((PL1 != NULL) || (PL2 != NULL) || Carry != 0) { Sum = Tem1 + Tem2 + Carry; if(Sum >= 10) Carry = 1; else Carry = 0; P2->val = Sum % 10; P1 = (struct ListNode *)malloc(sizeof (struct ListNode)); P2->next = P1; P2 = P1; if(PL1 == NULL) { Tem1 = 0; } else { PL1 = PL1->next; if(PL1 != NULL) Tem1 = PL1->val; else Tem1 = 0; } if(PL2 == NULL) { Tem2 = 0; } else { PL2 = PL2->next; if(PL2 != NULL) Tem2 = PL2->val; else Tem2 = 0; } } P1->next = NULL; P1= NewHead; while(P1->next->next != NULL) { P1 = P1->next; } P2 = P1->next; free(P2); P1->next = P1->next->next; return NewHead; }
相关文章推荐
- leetcode 链表里的两数相加 C++实现
- Leetcode 653. Two Sum IV - Input is a BST 两数相加4 解题报告
- LeetCode - 66/67 - 两数相加加法模拟
- LeetCode 第一题两数之和 C语言
- [leetcode]两数相加
- Leetcode 第二题,两数链表相加
- [Leetcode] 2. 两数相加 java
- LeetCode 02. 两数相加(链表) 03.最大不重复的字符串
- 【LeetCode】2. 两数相加(Add Two Numbers,28.6%,中等)
- LeetCode刷题记: 两数相加
- 刷LeetCode(1)——两数相加
- c语言判断两数相加是否溢出
- LeetCode 2 两数相加 Python
- LeetCode 第三题两数之和 C语言
- 从零打卡leetcode之day 2---两数相加
- [LeetCode] Add Two Numbers 两数相加
- LeetCode 2 两数相加(链表)
- Leetcode每日一道 -- 两数相加
- 程序猿之---C语言细节20(符号和有符号之间转换、两数相加溢出后数值计算)
- [LeetCode] 2. Add Two Numbers 两数相加 @python