给定一棵树的根节点, 在已知该树最大深度的情况下, 求节点数最多的那一层并...

发布于 2022-03-03 16:37:13

给定一棵树的根节点, 在已知该树最大深度的情况下, 求节点数最多的那一层并返回具体的层数。

如果最后答案有多层, 输出最浅的那一层,树的深度不会超过100000。实现代码如下,请指出代码中的多处错误:

 

struct Node {

    vector<Node*> sons

}

 

void dfsFind(Node *node, int dep, int counter[]) {

    counter[dep]++

 

    for(int i = 0 i < node.sons.size() i++) {

        dfsFind(node.sons[i], dep, counter)

    }

}

 

int find(Node *root, int maxDep) {

    int depCounter[100000]

    dfsFind(root, 0, depCounter)

 

    int max, maxDep

    for (int i = 1 i <= maxDep i++) {

        if (depCounter[i] > max) {

            max = depCounter[i]

            maxDep = i

        }

    }

    return maxDep

}

关注者
0
被浏览
28
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看