本文主要是介绍Leetcode222 完全二叉树节点的个数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//递归,跟求二叉树的最大深度写法类似
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;}
这篇关于Leetcode222 完全二叉树节点的个数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!