做网站页面一般用什么软件,汽车网页设计论文,如何制作专业简历,北京建站公司排名首推万维科技一、题目 二、思路
加法运算是从低位开始#xff0c;向高位进位#xff0c;因此需要将两个链表进行反转#xff0c;再进行对齐后的相加操作。力扣 2. 两数相加
三、题解
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode …一、题目 二、思路
加法运算是从低位开始向高位进位因此需要将两个链表进行反转再进行对齐后的相加操作。力扣 2. 两数相加
三、题解
/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; }* }*/
class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {ListNode ans;l1 reverseList(l1);l2 reverseList(l2);return reverseList(addTwo(l1, l2, 0));}// 反转链表public ListNode reverseList(ListNode head) {ListNode pre null, cur head;while (cur ! null) {ListNode tmp cur.next;cur.next pre;pre cur;cur tmp;}return pre;}// 求解两数之和 public ListNode addTwo(ListNode l1, ListNode l2, int carry) {// 递归出口if (l1 null l2 null) {return carry ! 0 ? new ListNode(carry) : null;}// 确保 l1 是较长的if (l1 null) {l1 l2;l2 null;}int sum l1.val (l2 ! null ? l2.val : 0) carry;l1.val sum % 10;l1.next addTwo(l1.next, l2 ! null ? l2.next : null, sum / 10);return l1;}
}