Leetcode问题-2(Add Two Numbers)
来源:互联网 发布:数据库审计产品排行榜 编辑:程序博客网 时间:2024/04/28 22:12
问题描述
You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
分析
1. 数字非负
2. 个十百千万顺序存储
3. 返回结果链表的头结点
代码:
struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};class Solution {public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode *result=NULL; ListNode *i=l1; ListNode *j=l2; ListNode *tail = result; while (i != NULL || j != NULL) { ListNode *temp = new (ListNode)(0); if (i != NULL && j != NULL) { temp->val = i->val + j->val; i = i->next; j = j->next; } else if (i != NULL && j == NULL) { temp->val = i->val; i = i->next; } else if (i == NULL && j != NULL) { temp->val = j->val; j = j->next; } if (result == NULL) { result = temp; } else { tail->next = temp; } tail = temp; } tail = result; while (tail) { if (tail->val >= 10) { if (tail->next == NULL) { tail->next = new (ListNode)(0); } tail->next->val += tail->val / 10; tail->val %= 10; } tail = tail->next; } return result; }};
代码的复杂度分析:
空间复杂度 O(N)
- 返回了一个结果链表
时间复杂度 O(N)
- 循环了1遍加数和被加数的链表。
- 循环了1遍结果链表。
0 0
- Leetcode问题-2(Add Two Numbers)
- LeetCode(2)Add Two Numbers
- leetcode(2)add two numbers
- Add Two Numbers (leetcode 2)
- Leetcode日记(2)---Add two numbers
- LeetCode(2)Add Two Numbers
- LeetCode(2) Add Two Numbers
- 【leetcode 2】 Add Two Numbers(C++)
- LeetCode (2)Add Two Numbers
- LeetCode(2)--Add Two Numbers
- LeetCode 2 - Add Two Numbers
- LeetCode 2: Add Two Numbers
- Leetcode: Add Two Numbers (2)
- [leetcode 2] Add Two Numbers
- [Leetcode] 2 - Add Two Numbers
- LeetCode 2:《Add Two Numbers》
- LeetCode | #2 Add Two Numbers
- LeetCode 2 Add Two Numbers
- POJ 1836 Alignment
- openal 基本接口介绍
- 数据库类型对应java类型汇总(mysql、sql server和oracle)
- 500 OOPS: cannot change directory:/root
- vs2013 密钥
- Leetcode问题-2(Add Two Numbers)
- 阻塞/非阻塞读写总结、tcp网络编程的本质、muduo::Buffer设计简介
- 次元门公共交通系统
- NYOJ 613 免费馅饼
- SQL性能调整
- Java NIO系列教程(六) Selector
- MFC中UpdateData(true)和UpdateData(false)的区别
- python快速排序法实现
- java web ssh 开发书籍