leetcode2 Add Two Numbers
来源:互联网 发布:windows ant 编辑:程序博客网 时间:2024/05/29 14:29
主要考察链表知识,解法如下:
/** * 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* header; ListNode* p; ListNode* ll1 = l1; ListNode* ll2 = l2; int lengthL1 = 0, lengthL2 = 0; while (ll1 != NULL) { lengthL1++; ll1 = ll1->next; } while (ll2 != NULL) { lengthL2++; ll2 = ll2->next; } if (lengthL1 > lengthL2) { header = l1; p = l1; } else { header = l2; p = l2; } while (l1 != NULL && l2!=NULL) { int value1 = l1->val; int value2 = l2->val; int resultValue = value1 + value2; if (resultValue >= 10) { if (p->next == NULL) { ListNode* tail = (ListNode*)malloc(sizeof(ListNode)); tail->next = p->next; p->next = tail; p->next->val += resultValue / 10; p->val = resultValue % 10; } else { p->next->val += resultValue / 10; p->val = resultValue % 10; } } else { p->val = resultValue; } l1 = l1->next; l2 = l2->next; p = p->next; } while (p != NULL) { if (p->val >= 10) { if (p->next == NULL) /*************创立新节点以容纳最高位上的进位******/ { ListNode* tail = (ListNode*)malloc(sizeof(ListNode)); tail->next = p->next; p->next = tail; tail->val = p->val / 10; } else { p->next->val += p->val / 10; } p->val = p->val % 10; } p = p->next; } return header; }};
0 0
- [LeetCode2]Add Two Numbers
- leetcode2 add two numbers
- LeetCode2 Add Two Numbers
- LeetCode2:Add Two Numbers
- LeetCode2 Add Two Numbers
- leetCode2:Add Two Numbers
- leetcode2--Add Two Numbers
- leetcode2 Add Two Numbers
- LeetCode2:Add Two Numbers
- leetcode2 Add Two Numbers
- Leetcode2 Add Two Numbers
- LeetCode2.Add Two Numbers
- Leetcode2: Add Two Numbers
- LeetCode2. Add Two Numbers
- LeetCode2. Add Two Numbers
- leetcode2. Add Two Numbers
- leetcode2~Add Two Numbers
- LeetCode2.Add Two Numbers
- Android面试一天一题——概述篇
- 自己实现的一个可以滚动展示数字的控件:DPScrollNumberLabel
- Java中Long与long的区别(转)
- 爱我T4 T4B T4+ A2.150129 MT6582官方线刷包+工具+驱动 解决rom被破坏问题亲测可用
- 大话设计模式读书笔记(一)
- leetcode2 Add Two Numbers
- 312. Burst Balloons
- Svn命令详解
- 从Stage角度看cassandra write
- Android系统各种类型的service刨根解读
- Spring WebApplicationContext初始化
- 文章标题
- FZU 2126 消去游戏
- Android 推荐几款好用的开源作品(二)之万能RecyclerView适配器