添加两个数字(Leetcode)

Posted xzy不会飞的地板流

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了添加两个数字(Leetcode)相关的知识,希望对你有一定的参考价值。

问题:

给定两个非空的链表,表示两个非负整数。数字以相反的顺序存储,每个节点包含一个数字。添加两个数字并将其作为链表返回。

您可以假设两个数字不包含任何前导零,除了数字0本身。

输入:(2 - > 4 - > 3)+(5 - > 6 - > 4)
输出: 7 - > 0 - > 8

 

代码:

 1 /**
 2  * Definition for singly-linked list.
 3  * public class ListNode {
 4  *     int val;
 5  *     ListNode next;
 6  *     ListNode(int x) { val = x; }
 7  * }
 8  */
 9 class Solution {
10     public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
11         
12         ListNode p=l1;
13         ListNode q=l2;
14         ListNode l=new ListNode(0);
15         ListNode curr=l;
16         
17         int carry=0;
18         
19         while(p!=null||q!=null){
20             
21             int x=(p!=null)?p.val:0;
22             int y=(q!=null)?q.val:0;
23             
24             int z=carry+x+y;
25             
26             carry=z/10;
27             curr.next=new ListNode(z%10);
28             curr=curr.next;
29             
30             if(p!=null){
31                 
32                 p=p.next;
33                 
34             }
35             
36             if(q!=null){
37                 
38                 q=q.next;
39                 
40             }
41             
42         }
43         
44         if(carry>0){
45             
46             curr.next=new ListNode(carry);
47             
48         }
49         
50         return l.next;
51 
52     }
53 }

 

以上是关于添加两个数字(Leetcode)的主要内容,如果未能解决你的问题,请参考以下文章

“添加两个数字”JavaScript Leetcode 错误

javascript [2。添加两个数字] #tags:leetcode

LeetCode810. 黑板异或游戏/455. 分发饼干/剑指Offer 53 - I. 在排序数组中查找数字 I/53 - II. 0~n-1中缺失的数字/54. 二叉搜索树的第k大节点(代码片段

添加两个数字链表

leetcode官方《初级算法》题集(一)数组

如何使用运算符重载来简化两个分数的添加?