给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点
程序员文章站
2022-07-10 20:15:18
...
class Node {
public int data;
public Node next; //存储对象引用
public Node(int data) {
this.data = data; //没有初始化next的引用,不知道next当前指向哪个节点
}
}
public class SingleList {
public Node head;//定位头节点的引用
public void addFirst(int data) {
Node node = new Node(data); //构造要插入的对象
if(this.head == null) {
this.head = node;
return;
} else {
node.next = this.head;
this.head = node;
}
}
public void show(){
Node cur=this.head; //从头开始
while(cur!=null){
System.out.print(cur.data+" ");
cur=cur.next;
}
System.out.println();
}
public Node middle(){
Node fast=this.head;
Node slow=this.head;
while(fast!=null&&fast.next!=null){
fast=fast.next.next;
slow=slow.next;
}
return slow;
}
}
```java
public class TestDemo {
public static void main(String[] args) {
SingleList singleList=new SingleList();
singleList.addFirst(2);
singleList.addFirst(1);
singleList.addFirst(3);
singleList.addFirst(4);
singleList.addFirst(2);
singleList.show();
Node middle=singleList.middle();
System.out.println(middle.data);
}
}
上一篇: 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。
下一篇: Java:给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点
推荐阅读
-
给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。
-
给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点(Java实现)
-
给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点
-
Leetcode题库:给定一个带有头结点 head 的非空单链表,返回链表的中间结点,如果有两个中间节点则返回第二个
-
常见单链表题型(三) 给定一个带有头结点 head 的非空单链表,返回链表的中间结点;如果有两个中间结点,则返回第二个中间结点
-
给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。
-
给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点
-
Java:给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点
-
给定一个头结点为 head 的非空单链表,返回链表的中间结点,如果有两个中间结点,则返回第二个中间结点。
-
【Java】数据结构——(OJ题)给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点