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

如何让网站快速收录网站推广计划方法

如何让网站快速收录,网站推广计划方法,企业网站优化方式,小学校园门户网站建设文章目录1. 二叉树的镜像2. 判断是不是完全二叉树3. 完全二叉树的节点个数4. 判断是不是平衡二叉树1. 二叉树的镜像 #include <ctime> class Solution {public:TreeNode* Mirror(TreeNode* pRoot) {// write code hereif (pRoot nullptr) return pRoot;//这里记得要记得…

文章目录

    • 1. 二叉树的镜像
    • 2. 判断是不是完全二叉树
    • 3. 完全二叉树的节点个数
    • 4. 判断是不是平衡二叉树

1. 二叉树的镜像

在这里插入图片描述

#include <ctime>
class Solution {public:TreeNode* Mirror(TreeNode* pRoot) {// write code hereif (pRoot == nullptr) return pRoot;//这里记得要记得保存pRoot->left,否则就会被pRoot->right覆盖TreeNode* node = pRoot->left;pRoot->left = Mirror(pRoot->right);pRoot->right = Mirror(node);return pRoot;}
};

2. 判断是不是完全二叉树

在这里插入图片描述

  • 先判断空树一定是完全二叉树。
  • 初始化一个队列辅助层次遍历,将根节点加入。
  • 逐渐从队列中弹出元素访问节点,如果遇到某个节点为空,进行标记,代表到了完全二叉树的最下层,若是后续还有访问,则说明提前出现了叶子节点,不符合完全二叉树的性质。
  • 否则,继续加入左右子节点进入队列排队,等待访问。
/*** struct TreeNode {*  int val;*  struct TreeNode *left;*  struct TreeNode *right;*  TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* };*/
class Solution {public:bool isCompleteTree(TreeNode* root) {// write code hereif (root == nullptr) return true;queue<TreeNode*> que;que.push(root);bool flag = false;while (!que.empty()) {int size = que.size();for (int i = 0; i < size; ++i) {TreeNode* node = que.front();que.pop();if(node == nullptr){flag = true;}else{if(flag) return false;que.push(node->left);que.push(node->right);}}}return true;}
};

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

在这里插入图片描述
在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2^(h-1) 个节点。

完全二叉树只有两种情况

  • 情况一:就是满二叉树,可以直接用 2^树深度 - 1 来计算,注意这里根节点深度为1。
  • 情况二:最后一层叶子节点没有满,分别递归左孩子,和右孩子,递归到某一深度一定会有左孩子或者右孩子为满二叉树,然后依然可以按照情况1来计算。
class Solution {
public:int countNodes(TreeNode* root) {if(root == nullptr){return 0;}TreeNode* left = root->left;TreeNode* right = root->right;int leftd = 0;int rightd = 0;while(left != nullptr){left = left->left;leftd++;}while(right != nullptr){right = right->right;rightd++;}if(leftd == rightd){return (2 << leftd) - 1;}return countNodes(root->left) + countNodes(root->right) + 1;}
};

4. 判断是不是平衡二叉树

在这里插入图片描述
分别求出其左右子树的高度,然后如果差值小于等于1,则返回当前二叉树的高度,否则返回-1,表示已经不是二叉平衡树了。

class Solution {
public:bool IsBalanced_Solution(TreeNode* pRoot) {if(pRoot == nullptr) return true;int result = getHigh(pRoot);return result == -1 ? false : true;}
private:int getHigh(TreeNode* root){if(root == nullptr) return 0;int left = getHigh(root->left);if(left == -1) return -1;int right = getHigh(root->right);if(right == -1) return -1;return abs(left - right) > 1 ? -1 : 1 + max(left, right);}
};
http://www.hkea.cn/news/278789/

相关文章:

  • 网站风格对比哪里有学计算机培训班
  • 做mla的网站网站优化哪家好
  • 网站注册的账号怎么注销线上营销活动有哪些
  • 国内做进口的电商网站网站推广软件哪个好
  • 谁有做那事的网站百度投诉中心入口
  • 免费单页网站在线制作沈阳seo排名优化教程
  • 廊坊网站建大型网站建站公司
  • 远程桌面做网站sem和seo区别与联系
  • 做贷款网站优化大师有用吗
  • 有没有便宜的网站制作制作网页教程
  • 医院网站制作优化关键词的方法有哪些
  • wordpress安装到网站吗泰安seo
  • 长春网站开发培训价格google play三件套
  • 做生存分析的网站有哪些国外新闻最新消息
  • 济南网站优化收费百度互联网营销
  • bootstrap响应网站模板下载发帖推广百度首页
  • 动态网站上的查询怎么做新媒体运营培训学校
  • 网站开发人员必备技能百度优化推广
  • 花都 网站建设百度推广怎么添加关键词
  • 开发公司成本部职责岗位职责和流程苏州网站建设优化
  • 湛江网站制作系统seo排名需要多少钱
  • 城乡现代社区建设seo关键词推广案例
  • 旅游网站开发外文文献关键洞察力
  • 大学生asp网站开发的实训周长沙百度快速优化
  • 黑龙江省建设网站百度投流运营
  • 网站关键词太多好不好兰州seo整站优化服务商
  • 义乌网站设计网店推广策划方案
  • 无锡网站优化工作室网站关键词排名优化推广软件
  • 长沙做网站的公司亚马逊seo什么意思
  • 仪征建设银行官方网站怎么优化一个网站