程序员面试金典 2.5 链式A+B
2016-02-24 15:30
591 查看
题目
有两个用链表表示的整数,每个结点包含一个数位。这些数位是反向存放的,也就是个位排在链表的首部。编写函数对这两个整数求和,并用链表形式返回结果。给定两个链表ListNode* A,ListNode* B,请返回A+B的结果(ListNode*)。
我的题解
import java.util.*; /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Plus { public ListNode plusAB(ListNode a, ListNode b) { // write code here int offset = 1; int up = 0; ListNode res = null; ListNode cur = null; while((a != null) && (b != null)) { int sum = up; up = 0; sum += a.val + b.val; if(sum >= 10) { up = 1; } sum = sum % 10; if(res == null) { res = new ListNode(sum); cur = res; }else { cur.next = new ListNode(sum); cur = cur.next; } a = a.next; b = b.next; } ListNode now = a != null?a:b; while(now != null) { int sum = up; sum += now.val; if(sum >= 10) { up = 1; }else up = 0; sum = sum % 10; cur.next = new ListNode(sum); cur = cur.next; now = now.next; } if(up != 0) cur.next = new ListNode(up); return res; } }
相关文章推荐
- Android Native 绘图方法
- C#中struct和class的区别详解
- VBS ArrayList Class vbs中的数组类
- 大家看了就明白了css样式中类class与标识id选择符的区别小结
- 深入了解PHP类Class的概念
- jquery 表单验证之通过 class验证表单不为空
- setAttribute 与 class冲突解决
- JavaScript中的类(Class)详细介绍
- javascript面向对象包装类Class封装类库剖析
- 详解js中class的多种函数封装方法
- jQuery使用hide方法隐藏指定元素class样式用法实例
- jQuery给多个不同元素添加class样式的方法
- jQuery点击改变class并toggle及toggleClass()方法定义用法
- jquery采用oop模式class类的使用示例
- JavaScript更改class和id的方法
- 一篇入门的php Class 文章
- 深入C++中struct与class的区别分析
- js中设置元素class的三种方法小结
- JavaScript操作class和style样式代码详解
- c++中typename和class的区别介绍