链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
双指针技巧秒杀七道链表题目 | labuladong 的算法笔记
代码中还用到一个链表的算法题中是很常见的「虚拟头结点」技巧,也就是 dummy
节点。你可以试试,如果不使用 dummy
虚拟节点,代码会复杂一些,需要额外处理指针 p
为空的情况。而有了 dummy
节点这个占位符,可以避免处理空指针的情况,降低代码的复杂性。
Tip
经常有读者问我,什么时候需要用虚拟头结点?我这里总结下:当你需要创造一条新链表的时候,可以使用虚拟头结点简化边界情况的处理。
比如说,让你把两条有序链表合并成一条新的有序链表,是不是要创造一条新链表?再比你想把一条链表分解成两条链表,是不是也在创造新链表?这些情况都可以使用虚拟头结点简化边界情况的处理。
这句话需要在后面题型中不断加深理解