這個題本質(zhì)上和二叉樹的最大深度差不多,本來想用深度優(yōu)先解決,可是寫著寫著成了回溯。
class Solution {
int result_deep=0;
public int maxDepth(Node root) {
// 深度優(yōu)先,層次遍歷
// 嗯,好好的深度優(yōu)先 寫著寫著成了回溯
int path=0;
dfs(root,path);
return result_deep;
}
public void dfs(Node root, int path){
if(root==null){
return ;
}
if (root.children!=null){
List<Node> root_children=root.children;
path++;
result_deep=Math.max(path,result_deep);
for(Node node:root_children){
dfs(node,path);
}
path--;
}
}
}