你是一个JAVA工程师,有着十年的工作经验,现在写一个链表反转的代码
时间: 2024-05-07 18:16:04 浏览: 78
java代码-笔试代码提交 FindFirstNodeJS
以下是一个Java实现链表反转的示例代码:
```
public class ListNode {
int val;
ListNode next;
ListNode(int x) { val = x; }
}
public class Solution {
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;
}
}
```
在该代码中,我们使用了两个指针`prev`和`curr`,`prev`指向当前节点的前一个节点,`curr`指向当前节点。我们遍历链表,每次将`curr.next`指向`prev`,然后将`prev`和`curr`分别向右移动一位。最后,返回`prev`即可得到反转后的链表。
阅读全文