您现在的位置是:首页 > 后台技术 > 数据结构与算法数据结构与算法
完全二叉树的节点个数(图文)
第十三双眼睛2023-12-04【数据结构与算法】人已围观
简介完全二叉树的节点个数
给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。
思路:利用深度优先遍历或者广度优先遍历,都可以统计出节点个数。深度优先遍历代码如下:
广度优先遍历代码如下:
public static int method1(TreeNode root) { List<Integer> list = new ArrayList<>(); test(root, list); return list.size(); } public static void test(TreeNode node,List<Integer> list) { if (node == null) { return ; } list.add(node.val); test(node.left, list); test(node.right, list); } |
广度优先遍历代码如下:
public static int method2(TreeNode root) { if (root == null) { return 0; } int count = 0; Deque<TreeNode> queue = new LinkedList<TreeNode>(); queue.offer(root); while (!queue.isEmpty()) { TreeNode tempNode = queue.poll(); if (tempNode != null) { count ++; if (tempNode.left != null) { queue.offer(tempNode.left); } if (tempNode.right != null) { queue.offer(tempNode.right); } } } return count; } |
Tags:
很赞哦! ()
上一篇:存在重复元素 II(图文)
下一篇:用队列实现栈(图文)
相关文章
随机图文
-
搜索插入位置(图文)
搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 -
图的遍历(图文)
图的遍历 -
杨辉三角 II(图文)
杨辉三角 II 给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。 在「杨辉三角」中,每个数是它左上方和右上方的数的和。 -
将有序数组转换为二叉搜索树(图文)
将有序数组转换为二叉搜索树 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。