LeetCode2:Add Two Numbers
来源:互联网 发布:tomcat修改1099端口 编辑:程序博客网 时间:2024/06/05 18:17
题目
You are given two non-empty linked lists representing two non-negative integers. 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.
You may assume the two numbers do not contain any leading zero, except the number 0 itself.
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
比如 2->4->3 表示 342,5->6->4表示465
现在要求他们的和,和也用逆序链表表示。
思路
先初始化一个新链表ret,让cur指向ret,然后动态变化cur
模拟人的思路,一位一位对应的去求和,存到当前位的和存到sum中
这里有一个技巧,求和的结果sum%10作为当前位置的值,sum/10作为进位的标识
代码
public class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode ret = new ListNode(0); ListNode cur = ret; int sum = 0; while (true) { if (l1 != null) { sum += l1.val; l1 = l1.next; } if (l2 != null) { sum += l2.val; l2 = l2.next; } cur.val = sum % 10; sum /= 10; if (l1 != null || l2 != null || sum != 0) { cur = (cur.next = new ListNode(0)); } else { break; } } return ret; }}
阅读全文
0 0
- [LeetCode2]Add Two Numbers
- leetcode2 add two numbers
- LeetCode2 Add Two Numbers
- LeetCode2:Add Two Numbers
- LeetCode2 Add Two Numbers
- leetCode2:Add Two Numbers
- leetcode2--Add Two Numbers
- leetcode2 Add Two Numbers
- LeetCode2:Add Two Numbers
- leetcode2 Add Two Numbers
- Leetcode2 Add Two Numbers
- LeetCode2.Add Two Numbers
- Leetcode2: Add Two Numbers
- LeetCode2. Add Two Numbers
- LeetCode2. Add Two Numbers
- leetcode2. Add Two Numbers
- leetcode2~Add Two Numbers
- LeetCode2.Add Two Numbers
- HDU 2874 LCA在线算法RMQ
- caffe(一): 利用自带MNIST例程训练手写字符识别模型
- epoll服务器---I/O多路转接之epoll
- JSON.parse()和JSON.stringify()
- linux ./config --prefix=
- LeetCode2:Add Two Numbers
- Pandas Apply函数
- ubuntu linux基本命令- 改变工作目录命令
- 开通新博客了
- 名企笔试:Amazon笔试题(Count the elements)
- 学习博客园开源代码笔记(一)
- clone()的使用
- this web application instance has been stopped already. Could not load net.sf.ehcache.store.compoun
- c++构造函数的初始化列表