添加两个数字(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大节点(代码片段