一次遍历
这个问题主要考察的是链表的操作和出现特殊情况的处理。
1、当两个链表一样长的时候,问题比较好处理,直接挨个相加即可;
2、当两个链表不一样的时候,就需要对遍历节点进行判断,不能出现再访问属性val的语句;
3、由于一条链有可能为空这种极端情况,所以不能简单的采用原地算法;
4、问题有一个小坑,就是有可能最后还有一位进位,对这个情况要考虑在内;
5、可以通过添加一个哑节点来减少代码;
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL