carry=0# 初始化进位值为0whilel1 or l2:# 开始遍历两个链表,循环条件为两个链表中至少有一个未遍历完 x=l1.valifl1else0# 获取当前节点l1的值,如果l1为空,则视为0y=l2.valifl2else0# 获取当前节点l2的值,如果l2为空,则视为0sum=x+y+carry # 计算当前位置的两个节点值以及进位的和 carry=sum// ...
1.仍然先初始化一个指针dummy,该指针的下一个结点指向真正的头结点head; 2.将两个链表看成同等长度进行遍历,如果一个链表较短,则在最前面补0,例如:9998+932= 9998+0932=10930; 3.每计算当前两个数字的和时,需要加上上一位的进位值,并且也需要计算出当前进位的值; 4.链表全部遍历完后,最后一位也有进位...
1.直接法~:直接相加,相加的过程中考虑进位问题 2.补齐法~:先把两个列表补齐到同样长度。然后再相加,过程中考虑进位问题。 3.花里胡哨法:将链表全变成普通列表。列表相加。然后考虑进位。再变回链表返回。 这里采用一个超容易理解的方法:先相加。最后考虑进位问题。 而且会了这个方法。其他方法也就会了。 对于学...