2026年算法工程师最新必问面试题五:刷题与代码实战(8题)
1. 反转链表(LeetCode 206)反转链表是面试中最基础也最高频的题目,要求掌握递归和迭代两种写法。迭代写法def reverseList(head): prev = None curr = head while curr: next_temp = curr.next curr.next = prev prev = curr curr = next_temp return prev时间复杂度:O(n),空间复杂度:O(1)递归写法def reverseList(head): if not head or not head.next: return head new_head = reverseList(head.next) head.next.next = head head.next = None return new_head时间复杂度:O(n),空间复杂度:O(n)(递归栈深度)递归的核心思路:先反转后续链表,再将当前节点的 next 节点的 next 指向自己,最后断开当前节点的 next。2. 二叉树的最近公共祖先(LCA)