欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > 力扣——两数相加

力扣——两数相加

2025/3/14 20:48:34 来源:https://blog.csdn.net/weixin_49332521/article/details/146199083  浏览:    关键词:力扣——两数相加

题目链接:

链接

题目描述:

在这里插入图片描述
在这里插入图片描述

思路:

关键是进位
可能有两种情况:

  1. a+b>9
  2. a+b+进位>9

所以,需要一个变量表示进位的数字,两数之和应该是 sum=a+b+进位
每一位的数字是:sum%10
每一位的进位是:sum/10

这里需要新建节点,所以我们可以在新建节点的时候把val设置好
这样,第一个节点就不是真正的头节点,下一个才是

实现代码:

class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {ListNode head = new ListNode();ListNode cur = head;int carry = 0;while(l1 != null || l2 != null){int num1 = l1 != null ? l1.val : 0;int num2 = l2 != null ? l2.val : 0;int s = num1 + num2 + carry;carry = s/10;s = s%10;cur.next = new ListNode(s);cur = cur.next;l1 = l1 == null ? l1 : l1.next;l2 = l2 == null ? l2 : l2.next;}if(carry != 0){cur.next = new ListNode(carry);}return head.next;}
}

版权声明:

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

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

热搜词