两数相加
题目说明
题解
1.链表 | 高位补0
这道题使用链表解决的思路不算复杂,但是不进行整理归纳容易将代码写乱,增加许多不必要的特判条件。写这篇博文之前特地看了 编程熊 的题解,觉得思路很清晰,于是按照他的思路将题目重写了一遍,下面给大家展示解题思路与代码。
链表为逆序,两个链表从头部开始逐个结点的值相加,相加的结果可能产生进位,需要使用临时变量去记录(本题解中的carry);对于较短的链表采用高位补0的思路继续求和,直至两个链表都遍历完毕且进位值为0。
//Definition for singly-linked list.
// public class ListNode{
// public int val;
// public ListNode next;
// public ListNode(int val=0, ListNode next=null) {
// this.val = val;
// this.next