您的位置:首页 > 科技 > IT业 > 网页的构成_现在学软件前景怎么样_链友之家_百度推广营销页

网页的构成_现在学软件前景怎么样_链友之家_百度推广营销页

2024/9/22 1:01:39 来源:https://blog.csdn.net/m0_46290969/article/details/142357711  浏览:    关键词:网页的构成_现在学软件前景怎么样_链友之家_百度推广营销页
网页的构成_现在学软件前景怎么样_链友之家_百度推广营销页

 我们首先创建一个虚拟头节点dummy,它的主要作用是简化边界条件的处理。然后,我们使用一个循环来遍历两个链表,同时考虑进位。在循环中,我们计算当前位的和(包括从上一个计算中可能遗留下来的进位),然后更新进位和当前节点。如果两个链表中的某个链表已经遍历完,我们将对应的值视为0。最后,我们返回虚拟头节点的下一个节点,它实际上是结果链表的头节点

代码如下:

public class addNumber {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {ListNode dummy=new ListNode(0);//创建一个虚拟头节点ListNode cur=dummy; //当前操作节点初始化为虚拟头节点int carry=0; //进位初始化为0while(l1!=null || l2!=null||carry>0){int x=l1!=null?l1.val:0;// 如果l1不为空则取l1的值否则取0int y=l2!=null?l2.val:0;int sum=x+y+carry;//计算当前位的和(包括进位)carry=sum/10;cur.next=new ListNode(sum%10); //创建新节点存储当前位的值cur=cur.next; //移动到下个节点if(l1!=null) l1=l1.next;if(l2!=null) l2=l2.next;}return dummy.next;//返回虚拟头节点的下一个节点作为结果链表的头节点}
}

注意这里的三元运算符,简化了运算。

cur.next= new ListNode(sum%10) 其实你就可以理解成 cur.next=sum%10;

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com