题目描述
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。
解析
方法挺多,最简单的就是头插法,把节点一个一个插到第一个哨兵节点的后面,然后返回哨兵节点的下一个节点。或者是从前往后依次更改指针方向。或者是递归方法。
public ListNode reverseList(ListNode head) {
ListNode prev = null;
ListNode current = head;
while (current != null) {
ListNode next = current.next;
current.next = prev;
prev = current;
current = next;
}
return prev; // 当循环结束时,prev 将会是新的头节点
}

209

被折叠的 条评论
为什么被折叠?



