解法一:一行代码
public class Solution {
public int TreeDepth(TreeNode root) {
return root==null? 0:Math.max(TreeDepth(root.left),TreeDepth(root.right))+1;
}
}
解法二:BFS, 层次遍历
import java.util.*;
public class Solution {
public int TreeDepth(TreeNode root) {
if(root==null) return 0;
Queue<TreeNode> q=new LinkedList<>();
q.add(root);
int level=0;
while(!q.isEmpty()){
int size=q.size();
while(size-->0){
TreeNode curr=q.poll();
if(curr.left!=null) q.add(curr.left);
if(curr.right!=null) q.add(curr.right);
}
level++;
}
return level;
}
}