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