Reverse a singly linked list.
画图即可,创建两个指针,一个pivot指向头节点,可用于判断是否反转到最后一个,用pivot.next == null判断结束;第二个front用于引用当前pivot所处位置的后一个节点。用pivot指向其next的next,front指向当前头节点,再将头节点指向front节点。
class Solution {
public ListNode reverseList(ListNode head) {
ListNode pivot = head;
ListNode front = null;
while (pivot != null && pivot.next != null){
front = pivot.next;
pivot.next = pivot.next.next;
front.next = head;
head = front;
}
return head;
}
}