【DFS】LeetCode 1376. 通知所有员工所需的时间
题目链接
思路
根据题目的条件,很容易知道 informTime == 0
的点是叶子结点,所以可以自底向上遍历,取最大值。
代码
class Solution {
public int numOfMinutes(int n, int headID, int[] manager, int[] informTime) {
int result = 0;
for(int i = 0; i < manager.length; i++){
// leaf node
if(informTime[i] == 0){
int temp = 0;
int index = i;
while(index != -1){
temp += informTime[index];
index = manager[index];
}
result = Math.max(result, temp);
}
}
return result;
}
}