其他分享
首页 > 其他分享> > 员工的重要性(求树的节点值之和)

员工的重要性(求树的节点值之和)

作者:互联网

原题链接
思路分析:
我们可以将员工之间的关系抽象为一棵树,那么原题问的就是以 i d id id 为根节点的子树的所有节点的和。
定义函数的功能为:返回以 i d id id 为根节点的子树的所有节点的和。采用 D F S DFS DFS 便利便可求解。
C o d e : Code: Code:

/*
// Definition for Employee.
class Employee {
public:
    int id;
    int importance;
    vector<int> subordinates;
};
*/

class Solution {
public:
    int getImportance(vector<Employee*> employees, int id) {
        int ans = 0;
        for( auto C1 : employees ){
            if( C1->id == id ){
                ans += C1->importance;
                for( auto C2 : C1->subordinates ){
                    ans +=  getImportance(employees, C2); 
                }
            }
        }
        return ans;
    }
};

标签:int,employees,节点,求树,重要性,ans,C1,id
来源: https://blog.csdn.net/weixin_45816594/article/details/116323392