当前位置: 首页 > 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.yayakq.cn/news/676938/

相关文章:

  • 南通seo网站排名优化广东seo外包服务
  • 家具网站开发设计任务书与执行方案做视频网站挣钱吗
  • 淘宝客的网站是自己做的吗网站关键词热度
  • 如何做网站浏览pdf婚庆网站建设总结
  • 百元做网站手机画户型图的软件
  • 呼伦贝尔做网站的公司腾讯云网站备案流程
  • wap 网站 源码模板怎么下载
  • 青岛百度整站优化服务免费dede企业网站模板
  • 建设个人技术网站做博客和做网站
  • 新公司怎么建立自己的网站wordpress纯图片主题
  • 前后端分离的网站怎么做wordpress怎么开发
  • 江西威乐建设集团有限公司企业网站湖州网站建设公司
  • 搭建本地环境做网站恢复原来的网站
  • 做网站怎么接活修改文章wordpress
  • 网站开发需要什么基础网站颜色设计
  • 北京景网站建设网站服务器需要多大
  • 网站资讯如何做织梦网站模板教程
  • 网站栏目做树形结构图鞍山建设信息网站
  • 做网站编辑如何写好一篇新闻公司品牌vi设计是什么
  • 优化型网站模板品牌设计论文题目
  • 网站建设前景怎么样天元建设集团有限公司第八建筑工程公司
  • 宝安公司网站建设比较好的佛山移动网站设计公司
  • 上海网站建设大概多少钱wordpress自动采集外链
  • 网站后台发布新闻263企业邮箱后缀是什么
  • 网站浏览历史怎么查看可以做淘宝联盟的免费网站
  • 毕业答辩ppt模板免费下载网站财经直播网站建设
  • 顺德互动交流网站wordpress主题next推荐
  • 网站建设有什么职位门户网站优化怎么做
  • 便宜高端网站设计推荐工信部网站备案查询 手机
  • 淄博网站建设公司有多少家飞鸟加速器