链表数据结构相关的算法
2022/5/9小于 1 分钟约 125 字
翻转链表
public static Node reverse(Node node) {
if (node == null || node.next == null) {
return node;
}
Node prev = null;
Node next = node.next;
//next 指向空时,只需再进行最后一次反转
while (next != null) {
//反转节点
node.next = prev;
//引用后移
prev = node;
node = next;
next = next.next;
}
//反转最后一个节点
node.next = prev;
//返回反转后的链表头引用
return node;
}