leetcode002——add two numbers
2015-05-07 20:42
246 查看
一、题目描述
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
二、思路及代码
这个问题需要注意的地方:进位,尤其是最后一位的进位不要忘了。
代码如下(423ms 有点弱,待改进)
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
二、思路及代码
这个问题需要注意的地方:进位,尤其是最后一位的进位不要忘了。
代码如下(423ms 有点弱,待改进)
public class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { if(l1 == null) { return l2; } else if(l2 == null) { return l1; } else if(l1 == null && l2 == null) { return null; } else { ListNode head = new ListNode(0); ListNode l3 = new ListNode(0); head.next = l3; int carry = 0; while(l1 != null || l2 != null) { if(l1.val + l2.val + carry>= 10) { l3.next = new ListNode(l1.val + l2.val + carry - 10); carry = 1; } else { l3.next = new ListNode(l1.val + l2.val + carry); carry = 0; } if(l1.next == null && l2.next != null) { l1.next = new ListNode(0); l1 = l1.next; l2 = l2.next; } else if(l1.next != null && l2.next == null){ l1 = l1.next; l2.next = new ListNode(0); l2 = l2.next; } else { l1 = l1.next; l2 = l2.next; } l3 = l3.next; if(l1 == null && l2 == null && carry == 1) { l3.next = new ListNode(1); } } return head.next.next; } } }
相关文章推荐
- 【Leetcode】002 Add Two Numbers
- LeetCode-002 Add Two Numbers
- LeetCode 002 Add Two Numbers
- leetcode [002] : Add Two Numbers
- 【LeetCode-面试算法经典-Java实现】【002-Add Two Numbers (单链表表示的两个数相加)】
- LeetCode 002 Add Two Numbers
- leetcode-002 Add Two Numbers
- Leetcode_002_Add_Two_Numbers
- Add Two Numbers - leetcode002
- LeetCode 002 Add Two Numbers
- [LeetCode 002] Add Two Numbers
- 【leetcode】002 Add Two Numbers
- leetcode 002 Add Two Numbers
- 2017-09-07 LeetCode_002 Add Two Numbers
- LeetCode 002-Add Two Numbers
- 002 Add Two Numbers [Leetcode]
- leetcode002:Add Two Numbers
- LeetCode 002 AddTwoNumbers
- 002 Add Two Numbers [Leetcode]
- leetcode 002 Add_Two_Numbers