- 博客(5)
- 收藏
- 关注
原创 LeetCode hot100-删除链表的倒数第n个节点
根据栈「先进后出」的原则,我们弹出栈的第 n 个节点就是需要删除的节点,并且目前栈顶的节点就是待删除节点的前驱节点。1. 没有前驱节点:链表的头节点没有前一个节点,无法通过 前驱节点.next = 目标节点.next 的方式删除,需要单独编写逻辑修改 head 的指向。- 要删除头节点1时,只需让哑节点的 next 指向2( dummy.next = dummy.next.next ),和删除其他节点的逻辑完全一致。我们先遍历链表的长度,然后再从head向后到目标节点进行删除,返回新的头节点。
2025-12-30 22:48:29
833
原创 LeetCode hot100 -相交链表
然后从headB进行循环遍历链表B,遍历时用if进行判断,看链表B中的元素是否已经在哈希集合中。时间复杂度:O(m+n),其中 m 和 n 是分别是链表 headA 和 headB 的长度。当其中一个指针到达链表的尾部时,则令其等于另一个链表的头部,然后继续开始遍历,例如head1遍历到headA的尾部时,令head1=headB。需要遍历两个链表各一次。如果两个链表不相交时,最后两个指针一定会在链表的尾部相遇,即两个指针最后的值都为null。如果两个链表相交时,两个指针一定会在两个链表相交的节点相遇。
2025-12-28 23:29:44
334
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅