两两交换链表中节点
问题代码
存在问题:
1.两个节点交换节点后,cur已经指向交换前的cur.next.next,如1指向3,因此只要向后移动一位就行,prev从虚拟头节点移到节点1(cur),cur从节点1移到3。做题时最好画图。
2.while循环中的判断,&&符号左边条件满足的情况下才能判断右边条件,应该注意顺序。
3.结点交换的过程中head(节点1)已经被指向节点4,返回值应该是dummy.next, 不是head.next。
正确代码:
删除链表中倒数第N个节点
链表相交
问题代码:
问题:链表相交指的是节点指向同一个,不是节点中的val值相同,要把headA.val==headB.val改成headA==headB。
142.环形链表2
这题没思路,两个问题:如何判断链表中是否有环?如果有环,如何找到环的入口?
看了网上的解析,确实是很难想到,理解逻辑后实现一遍。