day53(1.4)——leetcode面试经典150

222. 完全二叉树的节点个数

我感觉会有更简单的方法,但是我不知道,我这几题二叉树,只有一题是用bfs,所以这题我也用了bfs

222. 完全二叉树的节点个数

题目:

题解:

java 复制代码
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    public int countNodes(TreeNode root) {
        int sum=0;
        if(root == null) {
            return 0;
        }
        Queue<TreeNode> queue = new LinkedList<>();
        queue.offer(root);
        sum++;
        while(queue.size() > 0) {
            //poll是取出并移除,peek是查看
            TreeNode treeNode = queue.poll();
            if(treeNode.left != null) {
                queue.offer(treeNode.left);
                sum++;
            }
            if(treeNode.right != null) {
                queue.offer(treeNode.right);
                sum++;
            }
        }
        return sum;
    }
}
相关推荐
Wect5 小时前
LeetCode 5. 最长回文子串:DP + 中心扩展
前端·算法·typescript
糖果店的幽灵5 小时前
决策树详解与sklearn实战
算法·决策树·sklearn
Lewiis5 小时前
趣谈排序算法
算法·排序算法
ComputerInBook5 小时前
数字图像处理(4版)——第 8 章——图像压缩与水印(上)(Rafael C.Gonzalez&Richard E. Woods)
人工智能·算法·计算机视觉·图像压缩·图像水印
前端百草阁5 小时前
【吃透 Promise】从基础到面试高频(手写 + 输出题 + 原理)
okhttp·面试·职场和发展
刀法如飞5 小时前
Python列表去重:从新手三连到高阶特技,20种解法全收录
python·算法·编程语言
minji...5 小时前
算法题 动态规划
算法·动态规划
Mr.Rice.Fool5 小时前
rust面试经验1
后端·面试·职场和发展·rust
水蓝烟雨6 小时前
3337. 字符串转换后的长度 II
算法·leetcode
MegaDataFlowers6 小时前
SiliconCompiler workflow
算法