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

自己做网站如何月入3k推广平台排名

自己做网站如何月入3k,推广平台排名,wordpress更新机制,wordpress分类自定义文字LeetCode222_完全二叉树的结点个数 标签:#位运算 #树 #二分查找 #二叉树Ⅰ. 题目Ⅱ. 示例 0. 个人方法 标签:#位运算 #树 #二分查找 #二叉树 Ⅰ. 题目 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下&…

LeetCode222_完全二叉树的结点个数

  • 标签:#位运算 #树 #二分查找 #二叉树
    • Ⅰ. 题目
    • Ⅱ. 示例
  • 0. 个人方法

标签:#位运算 #树 #二分查找 #二叉树

Ⅰ. 题目

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

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

Ⅱ. 示例

· 示例 1:
在这里插入图片描述
输入:root = [1,2,3,4,5,6]
输出:6

· 示例 2:
输入:root = []
输出:0

· 示例 3:
输入:root = [1]
输出:1

0. 个人方法

根据完全二叉树最后一层的结点 都集中在该层最左边的若干位置 这一特点来做文章。

  1. 如果左子树和右子树的高度相同(左、右都是满的),左子树一定是一个 满二叉树,节点个数为 2^h - 1。继续递归判断右子树的左子树和右子树…;
  2. 若不同,则右子树是满的,继续递归判断左子树的左子树和右子树…。
/*** 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 getHeight(TreeNode* root) {int h = 0;while (root) {h++;root = root->left;}return h;}int countNodes(TreeNode* root) {if (!root) return 0;int leftHeight = getHeight(root->left);int rightHeight = getHeight(root->right);if (leftHeight == rightHeight)return (1 << leftHeight) + countNodes(root->right);elsereturn (1 << rightHeight) + countNodes(root->left);}
};

PS:“1 << leftHeight” 表示将 1 左移 leftHeight 位,即表示 2leftHeight(左子树的结点数为 2leftHeight-1,根结点为 1)

  • 时间复杂度分析
    • getHeight() 时间是 O(log n)(树高);

    • 每一层递归时 getHeight 被调用两次,最多递归 log n 层;

    • 总时间复杂度为 O((log n)^2) —— 比普通 O(n) 的遍历快很多;


文章转载自:

http://YtKUJ6zv.wjpLr.cn
http://YZbMXddQ.wjpLr.cn
http://QA8sUcAu.wjpLr.cn
http://zF5VlaB4.wjpLr.cn
http://oPonnIK5.wjpLr.cn
http://TC5GQ8t0.wjpLr.cn
http://3IFprgBr.wjpLr.cn
http://iIXMHdyq.wjpLr.cn
http://LTAHnpsx.wjpLr.cn
http://a62v5Txa.wjpLr.cn
http://80t2Gg22.wjpLr.cn
http://KuIs1QJ1.wjpLr.cn
http://NCSKFvw3.wjpLr.cn
http://vesHUSSs.wjpLr.cn
http://pnpOPdkY.wjpLr.cn
http://aDcBHwN4.wjpLr.cn
http://mvpeQ5fR.wjpLr.cn
http://IwGoMVc2.wjpLr.cn
http://DPOJJOUe.wjpLr.cn
http://wkEnIgNR.wjpLr.cn
http://UaCYMot3.wjpLr.cn
http://eL2ZSVkg.wjpLr.cn
http://4mcNE2GI.wjpLr.cn
http://hvBP71N8.wjpLr.cn
http://iZGlMBNl.wjpLr.cn
http://4LzYxytD.wjpLr.cn
http://bi89Fbcf.wjpLr.cn
http://afUmiVzu.wjpLr.cn
http://aEqmFGuc.wjpLr.cn
http://plHBhr5F.wjpLr.cn
http://www.dtcms.com/wzjs/704637.html

相关文章:

  • 长春阿凡达网站建设学广告设计难不难
  • 响应式相册网站模板wordpress链接title属性
  • 学生网站设计百度搜索关键词技巧
  • 网站建设与组织管理网站默认主页名
  • 中小企业网站建设与管理网页设计需要学什么编程语言
  • 网站建设维护要求求网站建设合伙人
  • 网站建站客户需求表单公司旅游视频网站模板免费下载
  • wordpress站点预览wordpress确认窗口
  • 保定市住房保障和城乡建设局网站什么网站可以做高三英语试题
  • 网站每年的维护费最新网站建设视频
  • 张家港网站设计有吗公众号网站制作
  • 佛山做网站自主网站建站
  • 网站建设访问人群哈尔滨建设工程信息网站
  • 网站建设微分销企业网站建设费多少钱
  • 北京公司注册核名网站小程序模板平台有哪些
  • 个人网站如何做支付功能徐州建站模板公司
  • 网站建设主题的确定服务平台是什么意思
  • o2o网站设计vps 安装 wordpress
  • 网站后台不能修改电子商务网站设计代做
  • 网站建设费做什么会计科目诸暨企业网站建设
  • 如何在阿里云上建设网站长安汽车网址大全
  • 甘肃网站建站系统平台张家港江阴网站制作
  • 2017民非单位年检那个网站做vivo手机为什么建设网站
  • 一个优秀的网站如何查询网站点击量
  • 郑州企业网站seo外包公司怎么赚钱
  • 没网站做哪个广告联盟网店商品页面制作加工
  • 旅游网站首页设计什么是电子商务网站
  • 网站运营预期效果建设网站案例
  • php网站开发软件语言展会网站制作
  • 个人电脑做外网网站手机浏览器下载大全免费下载