Add Two Numbers
来源:互联网 发布:mysql 安卓 编辑:程序博客网 时间:2024/06/08 05:32
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
代码:
class ListNode {int val; ListNode next; ListNode(int x) { val = x; next = null; }}public class Solution_4{public static void print(ListNode l){ListNode q = l;while(q != null){System.out.print(q.val + " ");q = q.next;}System.out.println();}public static ListNode createNumber(int n){ListNode l = null, s, r;if(n != 0){int value = n % 10;l = new ListNode(value);r = l;n = n / 10;while(n != 0){value = n % 10;s = new ListNode(value);r.next = s;r = s;n = n / 10;}}return l;}public static ListNode addTwoNumbers(ListNode l1, ListNode l2) {int tmp = 0;ListNode p = l1, q = l2, l = null, r;if(p != null && q != null){int value = (p.val + q.val + tmp) % 10;tmp = (p.val + q.val + tmp) / 10;l = new ListNode(value);r = l;p = p.next;q = q.next;while(p!= null && q!=null){ListNode s;value = (p.val + q.val + tmp) % 10;tmp = (p.val + q.val + tmp) / 10;s = new ListNode(value);r.next = s;r = s;p = p.next;q = q.next;}while(p!=null){ListNode s;value = (p.val + tmp) % 10;tmp = (p.val + tmp) / 10;s = new ListNode(value);r.next = s;r = s;p = p.next;}while(q!=null){ListNode s;value = (q.val + tmp) % 10;tmp = (q.val + tmp) / 10;s = new ListNode(value);r.next = s;r = s;q = q.next;}if(tmp != 0){ListNode s;s = new ListNode(tmp);r.next = s;r = s;}}return l; }public static void main(String[] args){// TODO Auto-generated method stubListNode l1 = createNumber(50);ListNode l2 = createNumber(50);ListNode l = addTwoNumbers(l1, l2);print(l);}}
0 0
- Add two numbers & Add binary
- LeetCode: Add Two Numbers
- Add Two Numbers
- LeetCode: Add Two Numbers
- [LeetCode]Add Two Numbers
- LeetCode Add Two Numbers
- Leetcode: Add Two Numbers
- Add Two Numbers
- LeetCode : Add Two Numbers
- LeetCode Add Two Numbers
- [LeetCode] Add Two Numbers
- LeetCode4: Add Two Numbers
- Leetcode : Add Two Numbers
- Add Two Numbers
- 【leetcode】Add Two Numbers
- add two numbers
- Add Two Numbers
- Add Two Numbers
- 基于Lucene4.6+Solr4.6+Heritrix1.14+S2SH实战开发垂直搜索引擎视频教程
- android json的解析
- 第一节:加载鱼的模型和播放动画
- DOS下批量改文件名
- json-lib 之jsonConfig详细使用
- Add Two Numbers
- LR打开录制无法弹出IE处理方法
- Android MediaPlayer本地视频播放器
- Android学习–Android app 语言切换功能
- SSL通关之tomcat配置(三)
- 玩转 Android MediaPlayer之视频预加载
- PCA 降维算法详解 以及代码示例
- svn中出现红色感叹号
- 第二节:鱼身上的波光处理