当前位置: 首页 > Web前端 > HTML

Leetcode2两个数字相加(链表应用)

时间:2023-03-27 23:36:28 HTML

给你两个非空链表,代表两个非负整数。它们各自倒序存储,每个节点只能存储一个数字。请将两个数字相加并以相同的形式返回表示总和的链表。您可以假设这些数字都不会以数字0以外的0开头。Answer/***单向链表的定义。*functionListNode(val,next){*this.val=(val===undefined?0:val)*this.next=(next===undefined?null:next)*}*//***@param{ListNode}l1*@param{ListNode}l2*@return{ListNode}*/varaddTwoNumbers=function(l1,l2){letjin=0letnewHead=newListNode(0,null)lethead=newHeadwhile(jin||l1||l2){让l1Val=l1?l1.val:0让l2Val=l2?l2.val:0让curr=0如果(l1Val+l2Val+jin>10){curr=(l1Val+l2Val+jin)%10jin=1}elseif(l1Val+l2Val+jin===10){curr=0jin=1}else{curr=l1Val+l2Val+jinjin=0}if(l1){l1=l1.next}if(l2){l2=l2.next}newHead.next=newListNode(curr)newHead=newHead.next}returnhead.next};:掌握这道题还是比较简单的。主要有以下几点:1.链表递归,如如何设置next建立链表的时候,要给定一个head,用一个变量循环引用下一个对象,最后返回head即可。-19来区分,记得先计算个位数,然后重新赋进位为0或1