反转链表的java实现
时间: 2023-07-17 18:12:25 浏览: 134
你可以使用以下代码来实现反转链表的 Java 实现:
```java
class ListNode {
int val;
ListNode next;
ListNode(int val) {
this.val = val;
}
}
public class ReverseLinkedList {
public ListNode reverseList(ListNode head) {
ListNode prev = null;
ListNode curr = head;
while (curr != null) {
ListNode nextTemp = curr.next;
curr.next = prev;
prev = curr;
curr = nextTemp;
}
return prev;
}
}
```
在这个例子中,我们定义了一个 `ListNode` 类来表示链表的节点。然后,我们创建了一个 `ReverseLinkedList` 类,其中包含了一个名为 `reverseList` 的方法来反转链表。
在 `reverseList` 方法中,我们使用三个指针:`prev`、`curr` 和 `nextTemp`。开始时,`prev` 和 `nextTemp` 都为 null,`curr` 指向头节点 `head`。
然后,我们进入一个循环,条件是 `curr` 不为 null。在循环内部,我们首先将 `curr` 的下一个节点保存到 `nextTemp` 中,然后将 `curr` 的下一个节点指向 `prev`,实现了链表的反转。接着,我们将 `prev` 更新为 `curr`,`curr` 更新为 `nextTemp`,继续下一次循环。
最后,当循环结束时,返回 `prev`,即为反转后的链表的头节点。
希望这可以帮助到你!如果有任何疑问,请随时提出。
阅读全文