leetcode Add Two Numbers
2015-06-07 11:30
309 查看
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.
下面是我的解法
a single digit. Add the two numbers and return it as a linked list.
下面是我的解法
// 一下部分为自己最初的解法(刚开始题目理解的有问题,只能将错就错,改成这样了) // LinkedList<Integer> tempL1 = new LinkedList<Integer>(); // while(l1!= null){ // tempL1.add(l1.val); // l1 = l1.next; // } // LinkedList<Integer> tempL2 = new LinkedList<Integer>(); // while(l2!= null){ // tempL2.add(l2.val); // l2 = l2.next; // } // // int len = tempL2.size()-tempL1.size(); // if(len >0){ // // for(int i=0; i<len; i++){ // tempL1.add(0); // } // }else{ // for(int i=0; i<len*-1; i++){ // tempL2.add(0); // } // } // // LinkedList<Integer> tempResult = new LinkedList<Integer>(); // int sum = 0; // for(int i=0; i<tempL2.size(); i++){ // int temp = sum +tempL1.get(i) + tempL2.get(i); // tempResult.add(temp%10); // sum = temp/10; // } // if(sum!=0){ // tempResult.add(sum); // } // // LinkedList<ListNode> result = new LinkedList<ListNode>(); // for(int item : tempResult){ // result.add(new ListNode(item)); // } // // for(int i=0; i<result.size() -1;i++){ // result.get(i).next = result.get(i+1); // } // // if(result.size() > 0){ // return result.get(0); // }else{ // return null; // } ListNode temp = new ListNode(0); ListNode result = temp; if(l1 == null) return l2; if(l2 == null) return l1; int sum = 0; int i = 0; while((l1 != null) || (l2 != null)){ if(l1 != null){ sum +=l1.val; l1 = l1.next; } if(l2 != null){ sum += l2.val; l2 = l2.next; } ListNode ln = new ListNode(sum%10); sum = sum/10; result.next = ln; result = result.next; } if(sum != 0){ ListNode ln = new ListNode(sum); result.next = ln; } return temp.next;
相关文章推荐
- 设计模式之十二:状态模式(State)
- Junit4测试
- python与内建函数重名
- revit高效调试
- 详细解释VB连接access几种方法数据库
- 国内三大PTPrivate Tracker站分析
- 大型网站架构体系的演变(上)
- 语义化
- http协议的Last-Modified
- J2EE的13个标准(规范)
- oracle 体系结构详解
- 命名规范("常用”,“TP”)
- Linux 命令系列之 Grup加密和字符界面分辨率调整(79)
- 《MYCAT权威指南》与MYCAT开放电商项目
- C++ 画星号图形——空心矩形(核心代码记录)
- POJ 3616 (milking time)
- iis 7 操作 .net
- Service和BroadcastReceiver总结
- 搜狗日志处理程序
- 客户管理系统之模块设计(九)