LeetCode - 206. Reverse Linked List
链接
题意
翻转一个单向链表
思路
由于是单向链表,不能直接将第二个数指向第一个数,这样便失去了第三个数的地址。因此需要三个游标,一个指示当前结点,一个指示前序结点,一个指向后序结点。
代码
Java:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
public class Solution {
public ListNode reverseList(ListNode head) {
ListNode curr = head, prev = null;
while(curr != null) {
ListNode next = curr.next;
curr.next = prev;
prev = curr;
curr = next;
}
return prev;
}
}