1.两两交换链表中的节点(注意不是交换数值,而是交换节点)
存在奇数个节点与偶数个节点,所以循环终止条件不一样。
注意循环条件一定要注意写的顺序(不然&&会出现短路运算)
2.删除倒数第n个节点
使用虚拟头节点
找倒数第n个节点:定义快慢指针。快指针先移动n 个,快慢指针同时移动,直到快指针指向最后一个节点,此时慢指针指到倒数第n个节点,但我们要让cur 指向删除节点的前一个才行。所以快指针一开始走n+1个节点
3.环形链表
快慢指针判断环
存在奇数个节点与偶数个节点,所以循环终止条件不一样。
注意循环条件一定要注意写的顺序(不然&&会出现短路运算)
使用虚拟头节点
找倒数第n个节点:定义快慢指针。快指针先移动n 个,快慢指针同时移动,直到快指针指向最后一个节点,此时慢指针指到倒数第n个节点,但我们要让cur 指向删除节点的前一个才行。所以快指针一开始走n+1个节点
快慢指针判断环