leetcode 2. Add Two Numbers
来源:互联网 发布:libcurl https linux 编辑:程序博客网 时间:2024/06/07 05:50
题目
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
提交代码
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { if(l1 == null){ return l2; }else if(l2 == null){ return l1; } ListNode res = new ListNode(0); ListNode temp = new ListNode(0); res = temp; int carry = 0; while(l1!=null&&l2!=null){ ListNode n = new ListNode((l1.val + l2.val + carry)%10); carry = (l1.val + l2.val+carry)/10; l1 = l1.next; l2 = l2.next; temp.next = n; temp = temp.next; } // if(carry != 0){// ListNode n = new ListNode(carry);// temp.next = n;// } if(l1 == null){ while(l2 != null){ ListNode n = new ListNode((l2.val + carry)%10); carry = (l2.val + carry)/10; l2 = l2.next; temp.next = n; temp = temp.next; } }else if(l2 == null){ while(l1 != null){ ListNode n = new ListNode((l1.val + carry)%10); carry = (l1.val + carry)/10; l1 = l1.next; temp.next = n; temp = temp.next; } } if(carry != 0){ ListNode n = new ListNode(carry); temp.next = n; } return res.next; }}
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { public static ListNode addTwoNumbers(ListNode l1, ListNode l2) { if(l1 == null){ return l2; }else if(l2 == null){ return l1; } ListNode res = new ListNode(0); ListNode temp = new ListNode(0); res = temp; int carry = 0; while(l1!=null&&l2!=null){ ListNode n = new ListNode((l1.val + l2.val + carry)%10); carry = (l1.val + l2.val+carry)/10; l1 = l1.next; l2 = l2.next; temp.next = n; temp = temp.next; } // if(carry != 0){// ListNode n = new ListNode(carry);// temp.next = n;// } if(l1 == null){ while(l2 != null){ ListNode n = new ListNode((l2.val + carry)%10); carry = (l2.val + carry)/10; l2 = l2.next; temp.next = n; temp = temp.next; } }else if(l2 == null){ while(l1 != null){ ListNode n = new ListNode((l1.val + carry)%10); carry = (l1.val + carry)/10; l1 = l1.next; temp.next = n; temp = temp.next; } } if(carry != 0){ ListNode n = new ListNode(carry); temp.next = n; } return res.next; } public static void main(String[] args){ ListNode ln11 = new ListNode(3); ListNode ln12 = new ListNode(7); ln11.next = ln12;// ListNode ln13 = new ListNode(3);// ln12.next = ln13; ListNode ln21 = new ListNode(9); ListNode ln22 = new ListNode(2); ln21.next = ln22;// ListNode ln23 = new ListNode(4);// ln22.next = ln23; ListNode l = addTwoNumbers(ln11,ln21); while(l!=null){ System.out.println(l.val); l = l.next; } }}
0 0
- [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
- 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
- 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
- 2. Add Two Numbers----LeetCode
- SPSS基础教程:SPSS菜单命令详解(二)
- 自定义菜单收起展开动画(二)
- Linux设备模型(1)_基本概念
- Struts2学习步骤
- iPhone6手写输入法如何设置 方法详解
- leetcode 2. Add Two Numbers
- jQuery 鼠标滑过图片 预览大图(附注释)
- chmod----改变一个或多个文件的存取模式(mode)
- Linux笔记
- cassandra 3.5 win7安装
- css collapsing margins问题
- 【HDU】 3605 Escape(暴力做法...)
- UGUI研究院之SpritePacker打包参数(四)
- iOS 二维码扫描