当前位置: 首页> 文旅> 艺术 > 定个小目标之刷LeetCode热题(15)

定个小目标之刷LeetCode热题(15)

时间:2025/7/10 4:06:30来源:https://blog.csdn.net/qq_45682662/article/details/139583754 浏览次数:0次

这道题直接就采用两数相加的规则,维护一个进阶值(n)即可,代码如下

class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {// 新建一个值为0的头结点ListNode newHead = new ListNode(0);// 创建几个指针用于遍历链表ListNode p = l1, q = l2, r = newHead;// 两数相加进阶值int n = 0;// 遍历链表,直到遍历完两条链表while (p != null || q != null) {// 记录第一条链表结点的值int val1 = p != null ? p.val : 0;// 记录第二条链表结点的值int val2 = q != null ? q.val : 0;// 计算两数相加并加上前面的进阶值int sum = val1 + val2 + n;// 如果两数相加小于10,进阶值为0,否则为1if (sum < 10) {n = 0;} else {sum = sum % 10;n = 1;}// 新建结点并赋值ListNode node = new ListNode(sum);// 连接各个新建结点r.next = node;// 指向相加所得新链表的尾结点r = r.next;// 分别移动两条链表的指针if (p != null) {p = p.next;}if (q != null) {q = q.next;}}// 如果遍历完链表后,n > 0,即还有进阶操作未处理if (n > 0) {ListNode node = new ListNode(n);r.next = node;}// 返回相加所得链表的头结点return newHead.next;}
}

题目链接:1题单 - 力扣(LeetCode)全球极客挚爱的技术成长平台

关键字:定个小目标之刷LeetCode热题(15)

版权声明:

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

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

责任编辑: