2025届中国联通软件研究院校园招聘正式启动笔试参考题库附答案.docxVIP

  • 14
  • 0
  • 约6.79千字
  • 约 16页
  • 2025-12-24 发布于未知
  • 举报

2025届中国联通软件研究院校园招聘正式启动笔试参考题库附答案.docx

2025届中国联通软件研究院校园招聘正式启动笔试参考题库附答案

一、计算机基础与数据结构

题目1:给定一个单链表的头节点head,实现迭代法和递归法两种方式反转该链表,并分析两种方法的空间复杂度。

答案:

迭代法:初始化prev为null,curr为head。遍历链表时,用next临时保存curr的下一个节点,将curr的next指向prev,然后prev和curr分别后移。最终prev即为新头节点。

递归法:终止条件为head或head.next为null时返回head。递归调用得到反转后的子链表头节点newHead,将当前节点的下一个节点的next指向当前节点,当前节点的next指向null,返回newHead。

空间复杂度:迭代法为O(1)(仅用常数额外空间);递归法为O(n)(递归栈深度为链表长度)。

题目2:在二叉树中找到两个指定节点p和q的最近公共祖先(LCA)。假设所有节点值唯一,且p、q一定在树中。

答案:

递归遍历二叉树,若当前节点是p或q,直接返回当前节点;否则递归左子树和右子树,得到左结果left和右结果right。若left和right均不为空,说明当前节点是LCA;若只有一个不为空,返回该结果;若都为空,返回null。

示例:树结构为3(左9,右20(左15,右7)),p=15,q=7时,LCA为20;p=9,q=15

文档评论(0)

1亿VIP精品文档

相关文档