news 2026/4/17 18:55:54

链表相加(二)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
链表相加(二)


代码求解

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);}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 13:27:44

二分搜索树的特性

二分搜索树的特性 引言 二分搜索树(Binary Search Tree,BST)是一种常见的树形数据结构,在计算机科学中有着广泛的应用。它是一种特殊的二叉树,具有以下特性:每个节点都有一个键值,左子树中的所有键值都小于该节点的键值,右子树中的所有键值都大于该节点的键值。本文将…

作者头像 李华
网站建设 2026/4/14 20:43:44

SpringBoot 实现任意文件在线预览功能

一 文件在线预览在现代工作与生活环境中,文件共享与查看已经成为日常不可或缺的一部分。不过传统的文件处理方式要求用户下载文件到本地后才能查看,这不仅占用了设备的存储空间,还可能导致文件传播效率低下,甚至存在安全隐患。因此…

作者头像 李华
网站建设 2026/4/15 20:30:22

基于CLARK变换和PARK变换的异步电机FOC控制器simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序或模型 4.系统原理简介 4.1 Clark变换(三相→两相静止坐标系) 4.2 Park变换(两相静止→两相同步旋转坐标系) 4.3 电流环控制 4.4 Park逆变换(d−q→α−β) 4.5 Clark逆变换(α−β→三相) 5.完整工…

作者头像 李华
网站建设 2026/4/15 20:30:18

重组蛋白是什么?从基因到功能蛋白的技术原理解析

在生命科学研究中,蛋白质是执行生物功能的核心分子,而重组蛋白则是科研中最常见、最标准化的蛋白来源之一。所谓重组蛋白,是指通过基因工程手段,将编码目标蛋白的基因导入异源宿主细胞中,由宿主的生物合成体系表达并获…

作者头像 李华