第二章 链表part02腾讯文档-在线文档https://docs.qq.com/doc/DVW54VVJPSkhRRkl6?login_t=1705454047640换一种形式了,之前思想都写在代码注释里了,拷贝到这里意义不大,就在这里写写心得把
1.虚拟头节点是好用的,可以避免对原来链表头节点的单独处理,或非空判断
2.注意交换链表节点的时候,要提前保存住后面的节点
3.指针是可以指向null的,比如head.next.next==null;Node node = head.next.next
但是此时head.next不能为null,不然会报空指针异常
4.因为链表只能从前往后查找节点,所以删除倒数第N个节点的时候也必须从前往后,
方法是定义两个指针,两者的距离就是倒数的距离,再让两指针从前往后移到末尾
5.若两个链表相交,那么他们末尾的几个节点就相等,依据这个特点,让他们末尾对齐
所以算法题需要对数字的排列特点洞悉清楚
6.环形链表需要逻辑非常强的数学计算,难,慢慢理解