如何用java实现单链表逆转
时间: 2024-10-07 13:07:52 浏览: 29
java 实现单链表逆转详解及实例代码
在Java中,可以使用迭代的方式来实现单链表的逆转,下面是一个简单的示例:
```java
public class ListNode {
int val;
ListNode next;
ListNode(int x) { val = x; }
}
public class Solution {
public ListNode reverseList(ListNode head) {
// 初始化两个指针,prev为null,current为head
ListNode prev = null, current = head;
// 当current不为null时,循环遍历并反转链表
while (current != null) {
// 记录当前节点的下一个节点
ListNode nextTemp = current.next;
// 更新当前节点的next指向prev
current.next = prev;
// 移动prev和current指针
prev = current;
current = nextTemp;
}
// 返回新头节点,即原链表的尾部
return prev;
}
}
```
在这个例子中,我们通过修改节点的`next`指针,实现了链表节点顺序的反转。首先将`current.next`指向`prev`,然后将`prev`和`current`向前移动一位,直到`current`变为`null`。
阅读全文