3331. Find Subtree Sizes After Changes
You are given a tree rooted at node 0 that consists of
nnodes numbered from0ton - 1. The tree is represented by an arrayparentof sizen, whereparent[i]is the parent of nodei. Since node 0 is the root,parent[0] == -1.You are also given a string
sof lengthn, wheres[i]is the character assigned to nodei.We make the following changes on the tree one time simultaneously for all nodes
xfrom1ton - 1:
- Find the closest node
yto nodexsuch thatyis an ancestor ofx, ands[x] == s[y].- If node
ydoes not exist, do nothing.- Otherwise, remove the edge between
xand its current parent and make nodeythe new parent ofxby adding an edge between them.Return an array
answerof sizenwhereanswer[i]is the size of the subtree rooted at nodeiin the final tree.A subtree of
treeNameis a tree consisting of a node intreeNameand all of its descendants.
1 | class Solution { |