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;
    }
}
相关推荐
Z9fish2 小时前
sse哈工大C语言编程练习20
c语言·开发语言·算法
晓13132 小时前
第六章 【C语言篇:结构体&位运算】 结构体、位运算全面解析
c语言·算法
iAkuya2 小时前
(leetcode)力扣100 61分割回文串(回溯,动归)
算法·leetcode·职场和发展
梵刹古音2 小时前
【C语言】 指针与数据结构操作
c语言·数据结构·算法
VT.馒头3 小时前
【力扣】2695. 包装数组
前端·javascript·算法·leetcode·职场和发展·typescript
源代码•宸3 小时前
大厂技术岗面试之谈薪资
经验分享·后端·面试·职场和发展·golang·大厂·职级水平的薪资
马猴烧酒.4 小时前
【面试八股|JVM虚拟机】JVM虚拟机常考面试题详解
jvm·面试·职场和发展
CoderCodingNo4 小时前
【GESP】C++五级练习题 luogu-P1865 A % B Problem
开发语言·c++·算法
大闲在人4 小时前
7. 供应链与制造过程术语:“周期时间”
算法·供应链管理·智能制造·工业工程
小熳芋4 小时前
443. 压缩字符串-python-双指针
算法