自我介绍(介绍了很多项目)
问了一下项目相关的
c++八股文:
多态
虚函数表
一般内存泄漏发生在什么情况下
数组 set map的区别
栈和堆的区别
操作系统:进程和线程
代码题
你有一个有向树,树中的每个节点都有一个前驱节点(除了根节点,它没有前驱节点)。在输入中,你得到了一个以 r1 为根的有向树的结构,以及一个前驱数组,这个数组描述了除了根节点外的每个节点的前驱节点。
你的任务是,基于相同的树结构,但是更改根节点为 r2,然后输出新的前驱数组。
例如,对于输入样例:
3 1 2
1 1
这意味着我们有一个有3个节点的树,原来的根节点是1,我们要将根节点更改为2。原来的前驱数组是 [1, 1],表示节点2和节点3的前驱节点都是节点1。
然后,我们将根节点更改为2,所以新的前驱数组是 [2, 1],表示节点1的前驱是节点2,节点3的前驱是节点1。