前言
解决链表问题, 经常会用一个空的节点进行辅助.
合并两个排序的链表
可以先考虑递归, 新建一个节点, 然后选择两个链表里面小的, 链到新建的节点....那么非递归的思路也是一样, 新建一个节点, 每次对比两个链的值, 选择小的链上. 最后把剩余没跑完的, 一次性链接即可....l1 : l2;
return before->next;
这里用到了一个哨兵节点, 等于保留了前一个节点的位置, 让问题简化很多....反转链表
但是上面的问题, 这个点还不明显, 反转链表就很需要这样一个哨兵节点了...., 然后把当前位置赋值到哨兵节点, 等于是手动让其前进一步, 最后手动让当前节点走到其next.