Leetcode Java Add Two Numbers
2015-04-02 07:32
477 查看
Problem:
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
Solution:
Pretty straight forward.
/**
* 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) {
ListNode p = new ListNode(-1);
ListNode head = p;
int carry = 0;
while(l1 != null || l2 !=null || carry == 1){
int currentInt = 0;
if(l1 != null){
currentInt += l1.val;
}
if(l2 != null){
currentInt += l2.val;
}
currentInt += carry;
carry = currentInt/10;
currentInt %= 10;
p.next = new ListNode(currentInt);
p = p.next;
if(l1 != null){
l1 = l1.next;
}
if(l2 != null){
l2 = l2.next;
}
}
return head.next;
}
}
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
Solution:
Pretty straight forward.
/**
* 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) {
ListNode p = new ListNode(-1);
ListNode head = p;
int carry = 0;
while(l1 != null || l2 !=null || carry == 1){
int currentInt = 0;
if(l1 != null){
currentInt += l1.val;
}
if(l2 != null){
currentInt += l2.val;
}
currentInt += carry;
carry = currentInt/10;
currentInt %= 10;
p.next = new ListNode(currentInt);
p = p.next;
if(l1 != null){
l1 = l1.next;
}
if(l2 != null){
l2 = l2.next;
}
}
return head.next;
}
}
相关文章推荐
- 【Leetcode】Add two numbers JAVA
- 【leetcode with java】2 Add Two Numbers
- leetcode:Add Two Numbers---------java源码
- [LeetCode][2]Add Two Numbers解析 -Java实现
- LeetCode 2 - Add Two Numbers ( JAVA )
- Leetcode – Add Two Numbers (Java)
- 【LeetCode-面试算法经典-Java实现】【002-Add Two Numbers (单链表表示的两个数相加)】
- leetcode 002 Add Two Numbers(java)
- leetcode:Add Two Numbers 【Java】
- LeetCode(java)2. Add Two Numbers
- Java [leetcode 2] Add Two Numbers
- LeetCode2之AddTwoNumbers的java题解
- 【JAVA、C++】LeetCode 002 Add Two Numbers
- LeetCode_2_AddTwoNumbers(Java Code)
- LeetCode 2: Add Two Numbers (JAVA)
- LeetCode 2 — Add Two Numbers(C++ Java Python)
- LeetCode-java实现-T2-Add Two Numbers
- leetcode 练习——add two numbers (Java)
- [LeetCode][Java] Add Two Numbers