[LeetCode]AddTwoNumbers
2017-05-25 00:02
246 查看
[LeetCode] Add Two Numbers
Descrition:
You are given two non-empty linked lists representing two non-negative integers. 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.
You may assume the two numbers do not contain any leading zero, except the number 0 itself.
这道题主要是理解题意,找出几个关键点(个人做题经感觉)。
一,2个list可以是长度不一样的。比如25+4.
二,如何处理大于十进一位。不同的处理方法决定了你的算法。
三,如果最后一位想加的时候超过十,怎么处理。
以上三点都是我做题时考虑欠缺的地方,所以为了弥补,导致代码冗余,虽然时间复杂度还可以,但是不简洁。所以我也就不贴出来了。
下面是我比较欣赏的解法(手敲):
Descrition:
You are given two non-empty linked lists representing two non-negative integers. 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.
You may assume the two numbers do not contain any leading zero, except the number 0 itself.
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4) Output: 7 -> 0 -> 8
这道题主要是理解题意,找出几个关键点(个人做题经感觉)。
一,2个list可以是长度不一样的。比如25+4.
二,如何处理大于十进一位。不同的处理方法决定了你的算法。
三,如果最后一位想加的时候超过十,怎么处理。
以上三点都是我做题时考虑欠缺的地方,所以为了弥补,导致代码冗余,虽然时间复杂度还可以,但是不简洁。所以我也就不贴出来了。
下面是我比较欣赏的解法(手敲):
public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode result = new ListNode(0); ListNode temp = result; int sum = 0; while(l1!=null || l2 != null) { sum/=10; if(l1 != null) { sum += l1.val; l1 = l1.next; } if(l2 != null) { sum += l2.val; l2 = l2.next; } temp.next = new ListNode(sum%10); temp = temp.next; } if(sum/10 != 0) { temp.next = new ListNode(1); } return result; }
相关文章推荐
- leetcode 2. Add Two Numbers
- leetcode445~Add Two Numbers II
- Add Two Numbers --leetcode
- LeetCode 面试:Add Two Numbers
- leetcode-2 Add Two Numbers
- Leetcode 2. Add Two Numbers
- LeetCode_2 Add Two Numbers(链表)
- 2. Add Two Numbers LeetCode题解
- LeetCode 2. Add Two Numbers
- LeetCode 2.Add Two Numbers
- LeetCode-2. Add Two Numbers
- LeetCode 2. Add Two Numbers
- leetcode_AddTwoNumbers
- [LeetCode]4 Add Two Numbers(C++,Python实现)
- LeetCode2.2.1(Add Two Numbers)
- [leetcode]Add Two Numbers
- 【LeetCode】2.Add Two Numbers两个单链表相加
- Leetcode 2[medium]-- Add Two Numbers
- LeetCode 2, Add Two Numbers
- 【leetcode】Add Two Numbers