【leetcode刷题笔记】Add Two Numbers
2014-07-20 16:15
330 查看
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
题解:模拟即可。用carries保存进位,当l1和l2一方为空的时候,余下不为空的链表要单独处理。当l1和l2都为空的时候,如果carries不为空,那么要再单独申请一个链表存放carries,代码如下:
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
题解:模拟即可。用carries保存进位,当l1和l2一方为空的时候,余下不为空的链表要单独处理。当l1和l2都为空的时候,如果carries不为空,那么要再单独申请一个链表存放carries,代码如下:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ public class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { if(l1 == null && l2 == null) return null; ListNode kepeler = new ListNode(0); ListNode head = kepeler; int carries = 0; while(l1 != null && l2 != null){ int sum = carries + l1.val + l2.val; carries = sum/10; kepeler.next = new ListNode(sum%10); kepeler = kepeler.next; l1 = l1.next; l2 = l2.next; } while(l1 != null){ int sum = carries + l1.val; carries = sum/10; kepeler.next = new ListNode(sum%10); l1 = l1.next; kepeler = kepeler.next; } while(l2 != null){ int sum = carries + l2.val; carries = sum/10; kepeler.next = new ListNode(sum%10); l2 = l2.next; kepeler = kepeler.next; } if(carries != 0) kepeler.next = new ListNode(carries); return head.next; } }
相关文章推荐
- (python)leetcode刷题笔记 02 Add Two Numbers
- Leetcode解题笔记 2.Add Two Numbers [Medium]
- LeetCode习题笔记——Add Two Numbers
- leetcode笔记--Add Two Numbers
- LeetCode解题笔记2 Add Two Numbers
- LeetCode刷题笔记(链表):add-two-numbers
- [leetcode] Add Two Numbers *
- leetcode 59: Add Two Numbers
- LeetCode Add Two Numbers
- [LeetCode] Add Two Numbers, Solution
- leetcode 59: Add Two Numbers
- Leetcode:Add Two Numbers
- 【leetcode】Add Two Numbers
- LeetCode 2 - Add Two Numbers
- LeetCode: Add Two Numbers
- [LeetCode] Add Two Numbers
- [LeetCode]Add Two Numbers
- [面试真题] LeetCode:Add Two Numbers
- [LeetCode]Add Two Numbers