摘要:
题目 142.环形链表II 要求 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置 阅读全文
摘要:
题目 面试题 02.07. 链表相交 要求 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 思路和答案 这道题目先用暴力破解,直接使用双层 for 循环,如下: /** * 暴力破解,双层 for 循环 * * 阅读全文
摘要:
题目 19.删除链表的倒数第N个节点 要求 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 答案 先看看直接思路,首先遍历一遍,计算出元素的个数,之后计算出正向遍历要删除的元素,注意的是要创建一个虚拟节点,目的是可能删除头节点,如果删除头节点,没有虚拟节点,不易删除,当然也可以做 阅读全文
摘要:
题目 24. 两两交换链表中的节点 要求 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 解答 迭代的思路就是考虑清楚下一个节点是什么,举个实际的例子来解释代码,1→2→3→4→null,首先我先确定了最后要返回的 阅读全文