- 前言
链表的相关算法题,经常能遇到反转相关的操作:整体反转、局部反转、满足一定条件反转等,需要快速反应反转链表的实现以及各变量的含义 - 实现
/*
快速反应:反转链表几个参数的含义
prev是反转之后的结果
next是下一个节点
head是反转前的第一个节点,也是反转之后的最后一个元素
temp指向next
*/
public ListNode reverseList(ListNode head) {
// 反转链表
ListNode prev = null, next, temp = head;
while (temp!= null) {
next = temp.next;
temp.next = prev;
prev = temp;
temp = next;
}
return prev;
}
快速反应:反转链表几个参数的含义
prev是反转之后的结果
next是下一个节点
head是反转前的第一个节点,也是反转之后的最后一个节点(常用于拼接)
temp指向next