[LeetCode] Add Two Numbers
来源:互联网 发布:医美缩小毛孔知乎 编辑:程序博客网 时间:2024/06/08 05:10
这题并不难,简单的链表知识而已,被列为是Medium其实有点高看了。整体只有一个要注意的点,就是在于当所有链表节点都被遍历过了,但是还有进位不为0时,应该在最后补一个进位的节点。当n是节点的个数时,时间复杂度为O(n)。
下面贴上代码,这题算法改进的空间并不大,可能能写的更优雅,但是我看了一圈discuss,时间复杂度不可能会低于O(n)了
/** * 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 *t1 = l1; ListNode *t2 = l2; ListNode *ans = new ListNode(0); ListNode *temp = ans; int sum = 0; int carry = 0; while (t1 || t2 || carry) { sum = carry; if (t1 != NULL) { sum += t1->val; t1 = t1->next; } if (t2 != NULL) { sum += t2->val; t2 = t2->next; } carry = sum / 10; temp->next = new ListNode(sum % 10); temp = temp->next; } return ans->next; }};
阅读全文
0 0
- LeetCode: Add Two Numbers
- LeetCode: Add Two Numbers
- [LeetCode]Add Two Numbers
- LeetCode Add Two Numbers
- Leetcode: Add Two Numbers
- LeetCode : Add Two Numbers
- LeetCode Add Two Numbers
- [LeetCode] Add Two Numbers
- Leetcode : Add Two Numbers
- 【leetcode】Add Two Numbers
- [LeetCode]Add Two Numbers
- leetcode Add Two Numbers
- LeetCode-Add Two Numbers
- [leetcode] Add Two Numbers
- [LeetCode] Add Two Numbers
- LeetCode - Add Two Numbers
- LeetCode | Add Two Numbers
- 【leetcode】Add Two Numbers
- hello,world
- java获得当前文件路径
- vim常用设置
- 2017特许加盟展武汉站会刊(参展商名录)
- FTP主动被动模式(PORT PASV)
- [LeetCode] Add Two Numbers
- java自制链式调用
- MongoDB总结
- fseek Linux 编程手册
- Gaussian Filter from DFT
- 生成二维码
- AP 音频测试
- 配置OpenCV3.2.0教程
- TensorFLow 不同大小图片的TFrecords存取