24. 反转链表
1 题目描述
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
2 题目描述
链表反转很简单,只需要改变指针的指向即可。画一个图就很明显了:
一直移动curr和pre指针,每次使curr.next=pre,然后往前更新直到curr为null时返回pre即可。
3 代码
public ListNode reverseList(ListNode head) {
ListNode pre = null, curr = head;
while (curr != null) {
ListNode next = curr.next;
curr.next = pre;
pre = curr;
curr = next;
}
return pre;
}