public int countNodes(TreeNode root) {
return getNodeNum(root);
}
public int getNodeNum(TreeNode root){
if(root==null) return 0;
int leftNum=getNodeNum(root.left);
int rightNum=getNodeNum(root.right);
return leftNum+rightNum+1;
}
public int countNodes(TreeNode root) {
if(root==null) return 0;
Queue<TreeNode> queue=new LinkedList<>();
queue.offer(root);
int num=0;
while(!queue.isEmpty()){
int size=queue.size();
num+=size;
for(int i=0;i<size;i++){
TreeNode node =queue.poll();
if(node.left!=null) queue.offer(node.left);
if(node.right!=null) queue.offer(node.right);
}
}
return num;
}