Leetcode:Add Two Numbers
来源:互联网 发布:vr头显 知乎 封闭式 编辑:程序博客网 时间:2024/06/05 19:42
题目: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
分析:模拟两个数的加法,只不过这两个数是用链表(
取
代码如下:
public ListNode addTwoNumbers(ListNode l1, ListNode l2) { if(l1 == null && l2 == null) return null; ListNode h = new ListNode(0); h.next = null; ListNode pre = h; int offset = 0; while(l1 != null && l2 != null) { int sum = l1.val+l2.val+offset; if(sum > 9) { sum -= 10; offset = 1; } else offset = 0; ListNode tmp = new ListNode(sum); pre.next = tmp; pre = tmp; l1 = l1.next; l2 = l2.next; } while(l1 != null) { int sum = l1.val+offset; if(sum > 9) { sum -= 10; offset = 1; } else offset = 0; ListNode tmp = new ListNode(sum); pre.next = tmp; pre = tmp; l1 = l1.next; } while(l2 != null) { int sum = l2.val+offset; if(sum > 9) { sum -= 10; offset = 1; } else offset = 0; ListNode tmp = new ListNode(sum); pre.next = tmp; pre = tmp; l2 = l2.next; } if(offset == 1) { ListNode t = new ListNode(1); t.next = null; pre.next = t; } return h.next; }
0 0
- LeetCode: Add Two Numbers
- LeetCode: Add Two Numbers
- [LeetCode]Add Two Numbers
- LeetCode Add Two Numbers
- Leetcode: Add Two Numbers
- LeetCode : Add Two Numbers
- LeetCode Add Two Numbers
- [LeetCode] Add Two Numbers
- Leetcode : Add Two Numbers
- 【leetcode】Add Two Numbers
- [LeetCode]Add Two Numbers
- leetcode Add Two Numbers
- LeetCode-Add Two Numbers
- [leetcode] Add Two Numbers
- [LeetCode] Add Two Numbers
- LeetCode - Add Two Numbers
- LeetCode | Add Two Numbers
- 【leetcode】Add Two Numbers
- 第9周项目2-Time类的运算符重载续(2)
- 系统分析师笔记-案例综合题-系统分析
- IList和List解惑
- 魔方
- 奋斗的目标
- Leetcode:Add Two Numbers
- 【Android】【Other】一些Android知识点
- 【JS总结】——Browser Object Model(BOM)
- 快速排序
- 第9周项目3-分数类中的运算符重载续(1)
- js运动-完美运动框架
- lintcode:Longest Substring Without Repeating Characters
- jquery基础之笔记(全)
- mfc C++类型转换