代码改变世界

每日leetcode一题(2)两数相加

2019-10-23 19:37  爱吃红烧排骨的小尖刀  阅读(107)  评论(0)    收藏  举报

  题目给定2个非空链表,并且是逆序存储,每一个节点存储一位数字,求2个链表对应数的和

 

 思路:首先拿到这个题,第一反应就是如果两个链表对应和大于10,进位如何表示?链表本来就是逆序的,这方便我们直接从链表头开始计算。如果大于10,就应该分别求出个位和十位各是多少,并且加到最后也可能存在进位,因此还需判断最后进位是否存在。其次就是两个链表长短不一该怎么办?我最开始想到的是用与来做,直到判断条件不合适跳出,再判断哪个链表数字多,其实可以用或来做,这样做比与更加方便。最后就是链表节点的申请与初始化。