太久不碰编程的后果就是一个指针和链表居然没弄明白,耽误了我很久,还到处问,尴尬到删了帖子还想换名字的那种尴尬,以后不能老不碰编程了啊,惨痛的教训
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution:
def addTwoNumbers(self, l1, l2):
"""
:type l1: ListNode
:type l2: ListNode
:rtype: ListNode
"""
if l1 is None:
return l2
if l2 is None:
return l1
head = ListNode(0)
res = head
profit = 0
while l1 or l2:
_sum = 0
if l1:
_sum += l1.val
l1 = l1.next
if l2:
_sum += l2.val
l2 = l2.next
_val = (_sum + profit) % 10
profit = (_sum + profit) // 10
res.val = _val
if l1 or l2:
res.next = ListNode(0)
res = res.next
if profit:
res.next = ListNode(1)
return head
这是别人的代码,我自己的不清楚那个listNode写的不对就不贴了
原链接在这里 https://www.jianshu.com/p/2e5b943f3e5c
关于进位位的处理,我本来觉得这个只符合只有一次进位的,然后想弄个ListNode来存,后来总是找不到好方法,再回头发现人家这个进位位实时更新。
啥也不说了,以后好好敲代码,不能断啊