zoukankan      html  css  js  c++  java
  • LeetCode 222. 完全二叉树的节点个数

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

    Difficulty: 中等

    给出一个完全二叉树,求出该树的节点个数。

    说明:

    的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。

    示例:

    输入: 
        1
       / 
      2   3
     /   /
    4  5 6
    
    输出: 6
    

    Solution

    Language: 全部题目

    方法一:简单粗暴的层序遍历,BFS+队列实现,不过效率不高。

    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    ​
    class Solution:
        def countNodes(self, root: TreeNode) -> int:
            if not root: return 0
            queue, res = [root], 0
            
            while queue:
                size = len(queue)
                for i in range(size):
                    node = queue.pop(0)
                    if node.left:
                        queue.append(node.left)
                    if node.right:
                        queue.append(node.right)
                    res += 1
            return res
    
  • 相关阅读:
    iperf使用
    性能工具--vtune
    Android广告轮播图实现
    自定义控件学习——下拉刷新ListView
    JVM读书笔记
    自定义控件学习——仿qq侧滑栏
    初步使用RecyclerView实现瀑布流
    自定义Toast
    自定义对话框加状态选择器
    自定义组合控件
  • 原文地址:https://www.cnblogs.com/swordspoet/p/14070272.html
Copyright © 2011-2022 走看看