写一个反转链表代码用java
时间: 2023-12-31 21:04:08 浏览: 78
java-leetcode题解之第92题反转链表II.zip
下面是一个反转链表的Java代码实现:
```java
public class ListNode {
int val;
ListNode next;
ListNode(int x) {
val = x;
}
}
public ListNode reverseList(ListNode head) {
ListNode prev = null;
ListNode curr = head;
while (curr != null) {
ListNode temp = curr.next;
curr.next = prev;
prev = curr;
curr = temp;
}
return prev;
}
```
在这个代码中,我们定义了一个链表节点ListNode,包含了一个整数值val和一个指向下一个节点的指针next。然后我们定义了一个reverseList()方法,用于反转链表。
在方法中,我们使用了三个指针,分别指向当前节点(curr)、前一个节点(prev)和后一个节点(temp)。我们每次将当前节点的指针指向前一个节点,然后依次移动三个指针即可。最后返回反转后的头节点(即原来的尾节点)。
需要注意的是,在反转链表时,一定要先将当前节点的next指针保存到一个临时变量中,否则在修改指针时会造成链表的断裂。
阅读全文