做网站怎么租个空间,西安企业应用软件开发定制,如何做电商步骤,开县集团网站建设文章目录 题目介绍题解 题目介绍 题解
首先反转两个链表#xff0c;再调用 2. 两数相加 链接的代码#xff0c;得到链表#xff0c;最后将其翻转即可。
class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {l1 reverseList(l1);l2 reverseList(l… 文章目录 题目介绍题解 题目介绍 题解
首先反转两个链表再调用 2. 两数相加 链接的代码得到链表最后将其翻转即可。
class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {l1 reverseList(l1);l2 reverseList(l2); // l1 和 l2 反转后就变成【2. 两数相加】了ListNode l3 addTwo(l1, l2);return reverseList(l3);}// 翻转链表private ListNode reverseList(ListNode head) {ListNode pre null;ListNode cur head;while (cur ! null) {ListNode nxt cur.next;cur.next pre;pre cur;cur nxt;}return pre;}private ListNode addTwo(ListNode l1, ListNode l2) {ListNode dummy new ListNode(); // 哨兵节点ListNode cur dummy;int carry 0; // 进位while (l1 ! null || l2 ! null || carry ! 0) { // 有一个不是空节点或者还有进位就继续迭代if (l1 ! null) carry l1.val; // 节点值和进位加在一起if (l2 ! null) carry l2.val; // 节点值和进位加在一起cur cur.next new ListNode(carry % 10); // 每个节点保存一个数位carry / 10; // 新的进位if (l1 ! null) l1 l1.next; // 下一个节点if (l2 ! null) l2 l2.next; // 下一个节点}return dummy.next; // 哨兵节点的下一个节点就是头节点}
}