2. Add Two Numbers leetcode java
来源:互联网 发布:淘宝摄影师价格 编辑:程序博客网 时间:2024/06/10 19:31
题目:
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
两个非空链表代表分别代表一个整数,高位存在链表尾,低位存在链表头,相加后的结果存在链表里。
思路:
从链表头开始相加即可,设置进位符,结果一边计算一边存入新链表。
class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { if(l1==null) return l2; if(l2==null) return l1; int jw,add; jw=0; ListNode tail,p,q;//res为结果链表指针,tail为结果的链尾指针 ListNode res=new ListNode(-1); tail=res; p=l1; q=l2; while(p!=null&&q!=null){ add=p.val+q.val+jw; jw=add/10; add=add%10; ListNode newnode=new ListNode(add); tail.next=newnode; tail=tail.next; p=p.next; q=q.next; } if(p==null){ while(q!=null){ add=q.val+jw; jw=add/10; add=add%10; ListNode newnode=new ListNode(add); tail.next=newnode; tail=tail.next; q=q.next; } } else if(q==null){ while(p!=null){ add=p.val+jw; jw=add/10; add=add%10; ListNode newnode=new ListNode(add); tail.next=newnode; tail=tail.next; p=p.next; } } if(jw!=0){ ListNode newnode=new ListNode(jw); tail.next=newnode; } return res.next; }}
注意两个链表长度不一的情况,注意最后两个链表都遍历完但是有还有进位的情况。
类似题目:
阅读全文
0 0
- LeetCode(java)2. Add Two Numbers
- leetcode: 2. Add Two Numbers (java)
- [LeetCode-Java]2. Add Two Numbers
- LeetCode 2. Add Two Numbers(Java)
- [LeetCode] 2. Add Two Numbers java
- Leetcode 2. Add Two Numbers(java版)
- 2. Add Two Numbers leetcode java
- [Leetcode] Add Two Numbers (Java)
- Add Two Numbers LeetCode Java
- 【Leetcode】Add two numbers JAVA
- Leetcode Java Add Two Numbers
- Java Leetcode Add Two Numbers
- [LeetCode][Java] Add Two Numbers
- LeetCode : Add Two Numbers [java]
- leetcode:Add Two Numbers 【Java】
- Java-LeetCode-Add Two Numbers
- Add Two Numbers LeetCode Java
- [LeetCode]Add Two Numbers(Java)
- 计算机字符和编码的深入讨论
- Maven-01-使用maven命令出错解决方法
- phpmemo
- Linux命令
- 5.7大小写转换
- 2. Add Two Numbers leetcode java
- Source Insight源代码的导入
- java集合框架-ConcurrentHashMap
- atoi会忽略前面字符串的空格
- 十大Intellij IDEA快捷键
- Android——EditText金额输入控制位数(小数点前几位,小数点后几位)
- Unity3D 渲染管线流程
- unity各个平台的路径总结
- Ubuntu系统下安装Erlang和RabbitMQ