1. 题目描述
2. 解题思路
(1) 建立员工 id 与员工之间对应关系的哈希表;
(2) 根据当前员工 id 进行深度优先搜索。
3. 代码实现
class Solution {
public:
int getImportance(vector<Employee*> employees, int id) {
unordered_map<int, Employee*> map;
// 建立员工id与员工之间对应关系的哈希表
for (auto &employee : employees) {
map[employee->id] = employee;
}
function<int(int)> dfs = [&](int id) -> int {
auto employee = map[id];
int res = employee->importance;
for (auto subordinate_id : employee->subordinates) {
res += dfs(subordinate_id);
}
return res;
};
return dfs(id);
}
};