基本信息
文件名称:高频计算机真实面试题及答案.docx
文件大小:26.83 KB
总页数:12 页
更新时间:2025-12-13
总字数:约5.28千字
文档摘要
高频计算机真实面试题及答案
如何用迭代和递归两种方式实现单链表反转?请分别说明时间复杂度和空间复杂度。
迭代法的核心是遍历链表时调整节点的指针方向。具体步骤:初始化三个指针,prev(初始为null)、curr(初始为头节点)、next(用于暂存下一节点)。循环中,先保存curr的下一个节点到next,然后将curr的next指向prev,接着prev移动到curr的位置,curr移动到next的位置,直到curr为null。此时prev即为新头节点。时间复杂度O(n)(遍历一次链表),空间复杂度O(1)(仅用常数额外空间)。
递归法需要从最后一个节点开始反转。终止条件是当前节点或下一