这里主要说一下做题的技巧吧
1.双指针法
双指针法不仅仅在数组篇章很重要,在链表章节也很重要,例如反转链表中的一个pre一个cur,环形链表中的一个快指针,一个慢指针,还有删除倒数N个节点中利用快慢指针找到倒数第N个节点等等,还有例如相交链表中对齐两个链表指针后,进行比较,只有地址相同才是相同的节点
2.虚拟头节点
在链表中如果要对链表进行操作的话,可以利用虚拟头节点来统一对链表的操作,在写完代码后记得清除内存
3.做题小技巧和易错点
1.永远记得判断是否有空指针的引用,要操作这个和下一个,都要判断,且要先判断在前面的是否成立,例如cur->next肯定是在cur->next->next之前判断的
2.利用有对链表有下标记录,可以使用while(index--)这种类型来操作链表,当cur指向头节点时,执行完指向的是index所在的节点
3.操作单向链表永远要知道他的前一个节点,并且在操作中要记得引用临时变量存储会丢失的节点,例如两两交换链表节点
最后就是学会了递归函数的写法,有空可以在复习一下递归如何写,一些链表的基础操作就不多赘述了