不得不说这家面试题很有水准,回来以后搜相同的题目是搜不到信息的,回来以后对于这道题我就有点不明白的地方,是要我自己实现链表再查找中间元素,还是在已有的LinkedList中查找中间元素?所以刚开始的猜想我是直接用jdk已有的LinkedList来实现的。
public static void main(String[] args) {
LinkedDemo();
}
public static void LinkedDemo() {
LinkedList<String> linkedList = new LinkedList();
// 1个元素无中间元素,两个元素无中间元素,3个元素1,4个2,5个1,6个2,7个1,8个2
linkedList.add("df");
linkedList.add("xxh");
linkedList.add("db");
linkedList.add("dd");
linkedList.add("ll");
linkedList.add("l3");
int length = 0;
for (int i = 0; i < linkedList.size(); i++) {
length = i + 1;
}
if (length > 2) {
// 偶数
if (length % 2 == 0) {
int index = length / 2;
System.out.println("中间元素有:" + linkedList.get(index) + "," +
linkedList.get(index - 1));
}
// 奇数
if (l

本文探讨了一种在链表中查找中间元素的方法,通过对比直接使用JDK的LinkedList与自行实现链表并应用快慢指针策略的区别。详细介绍了如何从零开始构建链表结构,包括节点定义、添加元素及使用快慢指针定位中间值的过程。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



