690. Employee Importance
class Solution {
public:
int getImportance(vector<Employee*> employees, int id) {
int importance = 0;
queue<Employee*> q;
unordered_map<int,Employee*> employeesRelation;
for(Employee* employee : employees){
if(employeesRelation.find(employee->id)==employeesRelation.end()){
employeesRelation[employee->id] = employee ;
}
if(id == employee->id) {
q.push(employee);
}
}
while(!q.empty()){
Employee * cur = q.front();
q.pop();
importance+=cur->importance;
for(auto e:cur->subordinates){
q.push(employeesRelation[e]);
}
}
return importance;
}
};