张掖市网站建设_网站建设公司_AJAX_seo优化
2026/3/2 21:31:47 网站建设 项目流程


代码求解

publicListNodereverseList(ListNodepHead){if(pHead==null){returnnull;}ListNodepre=null;ListNodecur=pHead;ListNodenext=pHead;while(cur!=null){next=cur.next;cur.next=pre;pre=cur;cur=next;}returnpre;}publicListNodeaddInList(ListNodehead1,ListNodehead2){// 链表1为空,直接返回链表2if(head1==null){returnhead2;}// 链表2为空,直接返回链表1if(head2==null){returnhead1;}// 反转两个链表,让低位在前(方便从低位开始相加)head1=reverseList(head1);head2=reverseList(head2);ListNodedummy=newListNode(-1);// 虚拟头节点:简化结果链表的头节点处理ListNodehead=dummy;// 结果链表的当前指针(用于挂载新节点)intcarry=0;// 进位标志// head1未遍历完 || head2未遍历完 || 还有进位(包含carry!=0,处理最后一位相加的进位)while(head1!=null||head2!=null||carry!=0){// 获取当前节点的值(链表已遍历完则取0,不影响相加结果)intval1=head1==null?0:head1.val;intval2=head2==null?0:head2.val;inttemp=val1+val2+carry;carry=temp/10;// 更新进位temp%=10;// 取当前位的结果// 创建当前位的节点,挂载到结果链表上head.next=newListNode(temp);head=head.next;// 结果链表指针后移,准备挂载下一个节点// 原链表指针后移if(head1!=null){head1=head1.next;}if(head2!=null){head2=head2.next;}}// 反转结果链表,恢复高位在前的格式,返回最终结果returnreverseList(dummy.next);}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询