leetcode 2 Add Two Numbers
LeetCode add two Numbers
2023-09-27 14:24:37 时间
主要注意别手误,每个if else情况写全。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 /** 2 * Definition for singly-linked list. 3 * struct ListNode { 4 * int val; 5 * ListNode *next; 6 * ListNode(int x) : val(x), next(NULL) {} 7 * }; 8 */ 9 class Solution { 10 public: 11 ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { 12 ListNode *ret = new ListNode(0); 13 ListNode *tl, *node = ret; 14 int tt = 0; 15 while(true){ 16 if(l1){ 17 if(l2){ 18 int tmp = l1->val+l2->val+tt; 19 if(tmp>=10) { 20 node->val = tmp-10; 21 tt = 1; 22 }else{ 23 node->val = tmp; 24 tt = 0; 25 } 26 l1 = l1->next; 27 l2 = l2->next; 28 node->next = new ListNode(0); 29 tl = node; 30 node = node->next; 31 }else{ 32 while(l1){ 33 int tmp = l1->val+tt; 34 if(tmp>=10) { 35 node->val = tmp-10; 36 tt = 1; 37 }else{ 38 node->val = tmp; 39 tt = 0; 40 } 41 l1 = l1->next; 42 node->next = new ListNode(0); 43 tl = node; 44 node = node->next; 45 } 46 break; 47 } 48 }else if(l2){ 49 while(l2){ 50 int tmp = l2->val+tt; 51 if(tmp>=10) { 52 node->val = tmp-10; 53 tt = 1; 54 }else{ 55 node->val = tmp; 56 tt = 0; 57 } 58 l2 = l2->next; 59 node->next = new ListNode(0); 60 tl = node; 61 node = node->next; 62 } 63 break; 64 }else{ 65 break; 66 } 67 } 68 69 if(tt){ 70 node->val = 1; 71 }else{ 72 delete node; 73 tl->next = NULL; 74 } 75 76 return ret; 77 } 78 };
相关文章
- LeetCode总结 -- 树的求和篇
- Leetcode 326:Power of Three
- [LeetCode] Different Ways to Add Parentheses
- LeetCode_前缀树_贪心算法_中等_421.数组中两个数的最大异或值
- LeetCode_回溯_中等_216.组合总和 III
- LeetCode_二叉搜索树_简单_108.将有序数组转换为二叉搜索树
- LeetCode_动态规划_中等_518.零钱兑换 II
- LeetCode_动态规划_困难_188.买卖股票的最佳时机 IV
- LeetCode 88 合并两个有序数组
- LeetCode·每日一题·1605. 给定行和列的和求可行矩阵·贪心
- LeetCode·每日一题·1662.检查两个字符串数组是否相等·模拟
- LeetCode·435.无重叠区间·贪心
- 【算法】动态规划 ⑦ ( LeetCode 55. 跳跃游戏 | 算法分析 | 代码示例 )
- LeetCode-94. 二叉树的中序遍历(java)
- [LeetCode] 241. Different Ways to Add Parentheses 添加括号的不同方式
- [LeetCode] 204. Count Primes 计数质数
- [LeetCode] 445. Add Two Numbers II 两个数字相加之二
- [LeetCode] 67. Add Binary 二进制数相加
- [LeetCode] 256. Paint House 粉刷房子
- leetcode 奇偶链表 python
- leetcode 226 翻转二叉树