调用栈指从主函数执行到某个函数的调用路径,
如 A->B ,经过这条调用栈到达的其他调用栈称为其子调用栈,如 A->B->D 是 A->B 的子调用栈;
使用某性能分析工具对软件运行过程中的调用栈进行采样分析,得到的热点调用栈数据为树形结构。
树的每个节点代表一条调用栈,子节点为父节点的子调用栈,每个节点有一个数值为采样到该调用栈的样本数量。
本题要求我们处理一个表示调用栈的树形结构,树的每个节点包含一个样本数量,节点间通过分隔符 -1
来标识。输入包含树的节点总数和层序遍历的序列化数据,输出需要更新每个节点的样本数量,使其等于该节点自身的样本数量加上所有子节点的样本数量之和。通过解析输入构建树,计算新样本数量后,按相同格式输出更新后的数据。
就是很简单的树的递归求和,dfs一遍即可,输入输出比较抽象注意处理