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;
    }
}
相关推荐
Klong.k8 分钟前
判断是不是素数题目
数据结构·算法
QQsuccess9 分钟前
AI全体系保姆级详讲——第一部分:了解AI基本定义
人工智能·算法
_日拱一卒12 分钟前
LeetCode:移动零
算法·leetcode·职场和发展
A923A25 分钟前
【洛谷刷题 | 第四天】
算法·前缀和·贪心·洛谷·差分
bai_lan_ya38 分钟前
使用linux的io文件操作综合实验_处理表格
linux·服务器·算法
计算机安禾42 分钟前
【C语言程序设计】第36篇:二进制文件的读写
c语言·开发语言·c++·算法·github·visual studio code·visual studio
ZPC821043 分钟前
OLOv11 + 深度相机的方案实现高精度3D定位
人工智能·数码相机·算法·机器人
_日拱一卒1 小时前
LeetCode:字母异位词分组
算法·leetcode·职场和发展
Dfreedom.1 小时前
机器学习经典算法全景解析与演进脉络(监督学习篇)
人工智能·学习·算法·机器学习·监督学习
Zaly.1 小时前
【Python刷题】LeetCode 3567 子矩阵的最小绝对差
python·leetcode·矩阵