Java 中链表的中间节点2024 年 9 月 10 日 | 阅读 7 分钟 在本节中,我们将学习如何在 Java 中查找链表的中间节点。我们还将探讨查找中间节点的各种方法。 给定:给定链表的第一个节点或头节点(在本例中为 14) 14 -> 16 -> 17 -> 11 -> 15 -> 18 -> 13 -> 12 -> NULL 返回 15 给定 13 -> 17 -> 90 -> 76 -> 45 -> 32 -> 10 -> NULL 返回 76 方法 1:使用两个指针在此方法中,我们将使用两个指针,一个快指针(一次移动两步),另一个慢指针(一次移动一步)。显然,快指针比慢指针先到达列表的末尾。当快指针到达链表的末尾时,我们检查一次移动一步的慢指针的位置。慢指针指向的节点就是链表的中间节点。 文件名: TwoPointerExample1.java 输出 The middle node of the linked list is: 15 方法 2:使用栈在此方法中,我们将使用栈来查找链表的中间节点。首先,我们将找到链表的总大小。然后,我们将链表中的所有节点压入栈中。然后,我们将总大小除以 2,然后 whatever number comes,我们执行 pop 操作直到达到该数字的次数。栈顶或 peek 节点就是我们的答案;即中间节点。 文件名: StackExample1.java 输出 The middle node of the linked list is: 76 方法 3:使用队列在此方法中,我们将使用队列来查找链表的中间节点。首先,我们将找到链表的总大小。然后,我们将链表中的所有节点压入队列中。然后,我们将总大小除以 2,然后 whatever number comes,我们执行出队操作直到达到该数字的次数。队列的顶部或 peek 节点就是我们的答案;即中间节点。 文件名: QueueExample1.java 输出 The middle node of the linked list is: 76 方法 4:使用一个指针在此方法中,我们将只使用一个指针来查找链表的中间节点。首先,我们将找到链表的总大小。然后,我们将总大小除以 2,然后 whatever number comes,我们从头节点开始移动指针,移动该次数。指针指向的节点就是链表的中间节点。 文件名: OnePointerExample1.java 输出 The middle node of the linked list is: 76 方法 5:使用计数器在此方法中,我们还将使用两个指针,借助计数器来查找链表的中间节点。每次移动到下一个节点时,我们将计数器加 1。当计数器的值是奇数时,我们将另一个指针(例如奇数指针)从头节点开始移动。迭代结束后,奇数指针指向的位置就是中间节点。 文件名: CounterExample.java 输出 The middle node of the linked list is: 76 下一个主题Java 中的有害数 |
? 在 Java 编程世界中,构造函数是用于初始化对象的特殊方法。当使用 new 关键字创建对象时,会调用它们,并且它们负责设置对象的初始状态。构造函数通常是公共的,并且与...
阅读 3 分钟
使用链表表示两个多项式。为了对具有相同变量幂的系数求和,请编写一个函数来添加这些链表。示例 1:输入:int num1 = 7x4 + 4x3 + 6x2 + 1x0 int num2 = 6x1 + 4x0 输出:两个多项式相加后的结果……
11 分钟阅读
Go 和 Java 都是被全球大量开发人员使用的语言。由于这两种语言都提供服务器端编程的功能,因此选择其中一种可能是一项艰巨的任务。在本节中,我们讨论了它们之间的主要区别...
阅读 3 分钟
最大正方形子矩阵问题是指在一个给定的二进制矩阵中找到最大的正方形子矩阵的大小,其中子矩阵的所有元素都为 1。这是一个经典的动态规划问题,用于高效地解决二维问题。在 Java 中,…
阅读 10 分钟
Java 是一种流行的面向对象编程语言,因为它具有健壮性、可移植性和易用性。Java 编程语言由于其与 C 和 C++ 语法的高度相似性,因此更容易学习。语法 在编程中,语法是指语句和表达式的结构。它...
阅读 6 分钟
ZIP 是一种用于压缩文件或文件夹的文件格式。它能够实现数据压缩。使用 Java 编程语言,我们可以创建 ZIP 文件或文件夹。为此,Java 提供了相应的类。在 Java 中,ZipFile 类属于 java.util.zip 包。该包提供了...
阅读 2 分钟
? Java 的 java.util 类用于表示日期。Date 类。尽管此类提供了各种处理日期的方法,但它不提供为日期设置静态值的方法。尽管如此,我们仍然可以通过使用 java.time.LocalDate 来实现此目的...
阅读 4 分钟
在本节中,我们将了解什么是中间数字,并创建 Java 程序来查找中间数字。它经常出现在 Java 编码测试和学术界。中间数字是数字的中间数字,它正好位于数字的中间...
阅读 2 分钟
Java 中 arr.length、arr[0].length 和 arr[1].length 之间的区别 Java 提供了 length 属性来确定数组的长度。每个数组都有一个内置的 length 属性,其值为数组的大小。大小是指数组可以包含的元素总数....
阅读 2 分钟
Java 作为使用最广泛的编程语言之一,提供了强大的异常处理机制,帮助开发人员有效地识别和处理运行时错误。异常消息在此过程中起着至关重要的作用,因为它们提供了关于异常性质和原因的宝贵信息……
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India