题目
LeetCode 3331.修改后子树的大小
解释
## 题目描述 给你一棵 n 个节点且根节点为编号 0 的树,节点编号为 0 到 n - 1 。这棵树用一个长度为 n 的数组 parent 表示,其中 parent[i] 是第 i 个节点的父亲节点的编号。由于节点 0 是根,parent[0] == -1 。 给你一个长度为 n 的字符串 s ,其中 s[i] 是节点 i 对应的字符。 对于节点编号从 1 到 n - 1 的每个节点 x ,我们 同时 执行以下操作 一次 : 找到距离节点 x 最近 的祖先节点 y ,且 s[x] == s[y] 。 如果节点 y 不存在,那么不做任何修改。 否则,将节点 x 与它父亲节点之间的边 删除 ,在 x 与 y 之间连接一条边,使 y 变为 x 新的父节点。 请你返回一个长度为 n 的数组 answer ,其中 answer[i] 是 最终 树中,节点 i 为根的 子树 的 大小 。 ## 示例 **示例 1:** **输入:** parent = [-1,0,0,1,1,1], s = "abaabc" **输出:** [6,3,1,1,1,1] **解释:** 节点 3 的父节点从节点 1 变为节点 0 。 **示例 2:** **输入:** parent = [-1,0,4,0,1], s = "abbba" **输出:** [5,2,1,1,1] **解释:** 以下变化会同时发生: 节点 4 的父节点从节点 1 变为节点 0 。 节点 2 的父节点从节点 4 变为节点 1 。 ## 约束条件 n == parent.length == s.length 1 <= n <= 105 对于所有的 i >= 1 ,都有 0 <= parent[i] <= n - 1 。 parent[0] == -1 parent 表示一棵合法的树。 s 只包含小写英文字母。 ## LeetCode 链接 https://leetcode.cn/problems/find-subtree-sizes-after-changes/
答案
正在疯狂整理答案中......