题解 | #两个链表生成相加链表#
两个链表生成相加链表
http://www.nowcoder.com/practice/c56f6c70fb3f4849bc56e33ff2a50b6b
- 首先翻转两个链表,这样方便从个位往高位计算,符合我们列算式的习惯
- 定义和链表虚拟头节点 dummy,cur 指针指向每一位的结果节点,初始状态指向 dummy,t 表示进位同时临时存储两个链表每一位相加的结果
- 如果 l1 不为空 || l2 不为空 || t != 0 表示还有进位则进行以下循环
- 如果 l1 不为空,则 t = t + l1->val,l1 后移
- 如果 l2 不为空,则 t = t + l2->val,l2 后移
- 将当前位计算结果 t % 10 插入到和链表中,而进位 t = t / 10