反转链表
ListNode *reverse(ListNode *head) {
ListNode *cur = head;
ListNode *pre = nullptr;
while (cur != nullptr) {
ListNode *tmp = cur->next; // 暂存后继节点 cur.next
cur->next = pre; // 修改 next 引用指向
pre = cur; // pre 暂存 cur
cur = tmp; // cur 访问下一节点
}
return pre;
}

