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;
    }
}
相关推荐
牛奶7 小时前
Vue 基础理论 & API 使用
前端·vue.js·面试
牛奶7 小时前
Vue 底层原理 & 新特性
前端·vue.js·面试
NAGNIP9 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
青青家的小灰灰13 小时前
深入理解事件循环:异步编程的基石
前端·javascript·面试
程序员清风15 小时前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试
颜酱17 小时前
单调栈:从模板到实战
javascript·后端·算法
UrbanJazzerati20 小时前
Vue3 父子组件通信完全指南
前端·面试
UrbanJazzerati20 小时前
Vue 3 纯小白快速入门指南
前端·面试
CoovallyAIHub20 小时前
仿生学突破:SILD模型如何让无人机在电力线迷宫中发现“隐形威胁”
深度学习·算法·计算机视觉
CoovallyAIHub20 小时前
从春晚机器人到零样本革命:YOLO26-Pose姿态估计实战指南
深度学习·算法·计算机视觉