java单链表就地逆置的主方法程序
时间: 2024-10-22 21:15:48 浏览: 29
单链表就地逆置的方法
Java单链表就地逆置的主方法通常会涉及到两个指针,一个指向当前节点,另一个指向下一个节点。逆置的过程就是交换这两个指针所指的节点,然后将当前节点的next指向前一个节点,直到遍历到链表的末尾。以下是简单的步骤和伪代码描述:
```java
public class ListNode {
int val;
ListNode next;
// 其他构造函数和getter/setter...
}
public void reverseList(ListNode head) {
if (head == null || head.next == null) {
return; // 如果链表为空或只有一个元素,无需反转
}
ListNode prev = null, curr = head;
while (curr != null) {
// 保存当前节点的下一个节点
ListNode nextTemp = curr.next;
// 将当前节点的next指向前一个节点
curr.next = prev;
// 更新前驱和当前节点
prev = curr;
curr = nextTemp;
}
// 返回新的头节点
head = prev;
}
```
在这个`reverseList`方法中,主方法就是`prev`和`curr`这俩指针的循环过程。最后,返回的是经过逆置后的链表的新头部。
阅读全文