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

wordpress站内短信建筑规范网站

wordpress站内短信,建筑规范网站,菜单网站图片素材,站长工具同大全站高度:从最底层往上数(后序遍历,左右根),更简单(递归) 深度:从上往下数直到有叶子(前序遍历,根左右),较复杂 高度是最大深度 一、求…

高度:从最底层往上数(后序遍历,左右根),更简单(递归)

深度:从上往下数直到有叶子(前序遍历,根左右),较复杂

高度是最大深度

一、求最大深度

 int maxDepth(TreeNode* root) {//递归的终止条件if(root==NULL)return 0;//单层递归逻辑int leftheight=maxDepth(root->left); //左子树高度int rightHeight=maxDepth(root->right); //右子树高度int height=1+max(leftheight,rightHeight); //该树高度return height;}

二、求最小深度

int minDepth(TreeNode* root) {//递归的终止条件if(root==NULL)return 0;//单层递归逻辑int leftHeight=minDepth(root->left); //左子树的最小深度int rightHeight=minDepth(root->right); //右子树的最小深度if(!root->left&&root->right)//若左子树为空,最小深度是右子树深度+1return 1+rightHeight;if(root->left&&!root->right)//若右子树为空,最小深度是左子树深度+1return 1+leftHeight;return 1+min(leftHeight,rightHeight);//左右子树都有,选择最小深度+1}

三、判断是否为平衡二叉树

平衡二叉树:对每个结点来说,左右子树的高度差<=1

int getHeight(TreeNode* root){//递归终止条件if(root==NULL)return 0;//单层递归逻辑int leftHeight=getHeight(root->left);//左子树高度if(leftHeight==-1)return -1; int rightHeight=getHeight(root->right);//右子树高度if(rightHeight==-1)return -1;//如果做右子树高度差大于1,则返回-1(一直直接向上返回-1),否则就继续算高度int result=abs(leftHeight-rightHeight)>1?-1:1+max(leftHeight,rightHeight);return result;}bool isBalanced(TreeNode* root) {if(getHeight(root)==-1)return 0;return 1;}

四、总结

求高度或深度的题目,如果用递归来做,就是用栈(现进后出的思想),先自上而下“压入”进入递归,然后自下而上依次返回“蹦出”。

1、终止条件:

if(root==NULL)

      return 0;

如果是空节点,说明是相对最底层(叶子之下),高度为0,从这里开始return,逐层返回加1

2、单层递归逻辑:

就是按照左右根的顺序,先求出左子树高度,然后求出右子树高度,再求根树的高度或最小深度或判断其他。

(1)求根树高度:返回1+max(leftHeight, rightHeight)

(2)求最小深度:返回1+min(leftHeight, rightHeight)

        注意要先判断左右子树是否为空的情况!

(3)判断是否平衡:

    比较左右子树的高度差

    不平衡时,一直返回-1(很妙)

    平衡时继续返回根树的高度

http://www.15wanjia.com/news/156657.html

相关文章:

  • 商丘网站seo关键词设定在网站上
  • 山西建设工程备案网站刷网站排名软件
  • 适应移动端网站模板做淘宝网站用什么软件有哪些
  • 网站设计实施极客 pthyon 做网站
  • 中国南昌网站建设seo是什么品牌衣服
  • 在屈臣氏做网站运营济南软件开发培训
  • 根据颜色找网站dedecms搭建购物网站
  • 机械网站建设营销seo网站关键词优化费用
  • 做网站是不是很麻烦dede 电商网站模板下载
  • 免费拥有自己的网站网站支付宝接口代码
  • 购买服务器做网站wordpress允许检索
  • 南宁国贸网站建设设计师入门必学软件
  • seo网站优化建议宝安做棋牌网站建设哪家便宜
  • 海南注册公司在哪个网站双井网站建设
  • 官方网站侵权wordpress 底部导航
  • 全能网站建设完全自学手册做网站推广的 什么是开户
  • 邹城外贸网站建设seo网站优化专家
  • wordpress怎么添加数据库连接网站专题页优化
  • 长沙网站建设商城wordpress 附近图片
  • 义乌 外贸网站 开发杭州自助建站网站
  • 好看的网站首页网站怎么申请官网
  • 北京制作网站公司哪家好厦门网站建设推广哪家好
  • 网站目录提交怎么把图片做成链接形式
  • 中华建设杂志社网站梧州网站建设定制
  • html简单的个人博客页面网站文字优化方案
  • 搭建自己微信网站wordpress迁移不能用
  • 专注做动漫的门户网站佛山网页设计报价
  • 做教育网站挣钱康复网站模板怎么做
  • 网站建设公司推免费域名注册2023
  • 专业营销网站网站建设导航栏变化