当前位置: 首页 > news >正文

做网站 需要工信部备案吗自己如何建立网站

做网站 需要工信部备案吗,自己如何建立网站,惠州网站建设,做网站的网页图片素材怎么找题目描述 给你一棵 完全二叉树 的根节点root ,求出该树的节点个数。 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位…

题目描述

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

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

题目分析

迭代法

简单暴力直接上层次遍历!(万能的层次遍历)

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int countNodes(TreeNode* root) {// 层次遍历queue<TreeNode*> q;if(root!=NULL) q.push(root);int num = 0;    // 节点个数numwhile(!q.empty()){int size = q.size();while(size--){  // 遍历每层节点TreeNode* node = q.front();q.pop();num++;// 放入该节点下层的左右孩子if(node->left) q.push(node->left);if(node->right) q.push(node->right);}}return num;}
};

递归法

递归计算左右子树的结点个数,然后合并。

class Solution {
public:int countNodes(TreeNode* root) {// 递归遍历:每一层都在计算子树的节点数量// 递归终止条件:if(root==NULL) return 0;int left = countNodes(root->left);int right = countNodes(root->right);int total = left + right + 1;return total;}
};

不过这题有个特殊条件:完全二叉树。完全二叉树有两种情况,一种是满二叉树,另一种是最后一层叶子节点不是满的。我们知道,满二叉树的节点数是很好计算的,也就是 2 n − 1 2^n-1 2n1 n n n是深度。那么我们可以利用递归计算寻找到的满二叉树的节点数量,一层一层传上来,就得到了整体完全二叉树的节点数量。

class Solution {
public:int countNodes(TreeNode* root) {// 递归法// 递归终止条件if(root==NULL) return 0;TreeNode* left = root->left;TreeNode* right = root->right;int leftDepth = 0, rightDepth = 0;while(left) {left = left->left;leftDepth++;}while(right){right = right->right;rightDepth++;}if(leftDepth==rightDepth){  // 判断当前子树是不是满二叉树,即左右深度相同// 如果是满二叉树,则返回节点个数return (2 << leftDepth) - 1;}// 单层递归逻辑return countNodes(root->left) + countNodes(root->right) + 1;}
};
http://www.ds6.com.cn/news/80823.html

相关文章:

  • 深圳横岗做网站的英文站友情链接去哪里查
  • wordpress首页添加js广州市网络seo外包
  • 做设计素材网站有哪些苏州百度推广服务中心
  • 对伊利网站建设建议百度最新推广产品
  • 做一个独立网站需要多少钱包头整站优化
  • 网页版微信二维码失效外贸建站优化
  • 网站不收录怎么办杭州seo网站优化公司
  • 网站一级页面标题怎么做的游戏挂机赚钱一小时20
  • iis 如何搭建网站人力资源管理师
  • 外卖网站设计网络推广优化招聘
  • 做土特产的网站有哪些网络营销网站有哪些
  • 中恒诚信建设有限公司网站微信推广方案
  • 网站建设合同范本下载建设网站的基本流程
  • 专做sm的网站在线工具seo
  • 开发系统的流程windows优化大师有必要安装吗
  • 做网站怎么办营业执照附近的成人电脑培训班
  • dw怎么做phpcms网站南阳网站优化公司
  • 黄冈网站推广软件哪里买性能优化大师
  • 让人做网站需要注意什深圳市网络seo推广平台
  • 网站建设需要什么呢怎样宣传网站
  • java网站开发文献综述免费关键词搜索引擎工具
  • 多语言网站开发seo优化培训
  • 网站小图片素材公司网站建设价格
  • 深圳响应式网站建设泉州关键词排名
  • 公司网站建设华为seo关键词报价查询
  • 药品网站网络营销推广怎么做如何做企业产品推广
  • wordpress 页眉江西seo推广
  • nofollow外链对于网站有提升吗抖音怎么运营和引流
  • 中交路桥建设有限公司资质站长工具seo查询
  • wordpress mysql nghixseo关键词排名优化怎么收费