​Leetcode690:员工的重要性​


/*class Employee {
public int id;
public int importance;
public List<Integer> subordinates;
};
*/

class Solution {
public int help(List<Employee> employees,Employee e) {
int count = 0;
if(e.subordinates.isEmpty()) {
return e.importance;
} else {
for(int i=0;i<e.subordinates.size();i++) {
int id = e.subordinates.get(i);
count += help(employees,getEmployee(employees,id));
}
return e.importance + count;
}
}
public Employee getEmployee(List<Employee> employees, int id) {
if(employees.isEmpty()) {
return null;
}
for (int i = 0; i < employees.size(); i++) {
Employee employee = employees.get(i);
if(employee.id==id) {
return employee;
}
}
return null;
}

public int getImportance(List<Employee> employees, int id) {
if(employees.isEmpty()) {
return -1;
}

Employee employee = getEmployee(employees,id);
if(employee==null) {
return -1;
}

int count = help(employees,employee);
return count;
}
}


Leetcode690:员工的重要性_链表