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

网站用vps做dns爱网恋的男生

网站用vps做dns,爱网恋的男生,赶集网网站建设ppt模板,陆金所网站开发二部力扣日记#xff1a;【二叉树篇】平衡二叉树 日期#xff1a;2023.11.30 参考#xff1a;代码随想录、力扣 110. 平衡二叉树 题目描述 难度#xff1a;简单 给定一个二叉树#xff0c;判断它是否是高度平衡的二叉树。 本题中#xff0c;一棵高度平衡二叉树定义为#…力扣日记【二叉树篇】平衡二叉树 日期2023.11.30 参考代码随想录、力扣 110. 平衡二叉树 题目描述 难度简单 给定一个二叉树判断它是否是高度平衡的二叉树。 本题中一棵高度平衡二叉树定义为 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1 输入root [3,9,20,null,null,15,7] 输出true 示例 2 输入root [1,2,2,3,3,null,null,4,4] 输出false 示例 3 输入root [] 输出true 提示 树中的节点数在范围 [0, 5000] 内-10^4 Node.val 10^4 题解 /*** 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 { #define SOLUTION 2 public: #if SOLUTION 1 // 一颗高度平衡二叉树需要保证(每个节点的左右子树的高度差绝对值不超过1)即要满足每个节点二叉树都是平衡二叉树bool isBalanced(TreeNode* root) {// 输入参数当前节点返回值当前节点二叉树是否是完全平衡二叉树// 终止条件1. 节点为空是2.节点左右子树绝对值大于1不是(有一个节点不满足绝对值条件则一定不是平衡二叉树)if (root nullptr) return true;int leftDepth getDepth(root-left);int rightDepth getDepth(root-right);if (abs(leftDepth - rightDepth) 1) return false;// 递归逻辑如果当前节点满足左右子树绝对值不超过1则递归判断左右节点是否是平衡二叉树// 当左右节点都是完全平衡二叉树(说明其子节点也都是完全平衡二叉树),则当前节点是完全平衡二叉树// 递归判断return isBalanced(root-left) isBalanced(root-right);}int getDepth(TreeNode * node) {if (node nullptr) return 0;// 左子树的高度 左子树根节点的最大深度int leftDepth getDepth(node-left);int rightDepth getDepth(node-right);return 1 max(leftDepth, rightDepth);} #elif SOLUTION 2// 上面的方法实际上用了两层递归每次判断高度都用了一次递归造成额外开销(虽然从最终执行结果看两者并没有太大区别)// 可以通过设置返回值为 -1 来表示当前节点是否是平衡二叉树来提前终止递归而不用重新判断int getHeight(TreeNode* node) {// 输入参数当前节点返回值当前节点子树的高度如果是-1则表示当前节点子树不是平衡二叉树// 终止条件if (node nullptr) return 0;// 递归逻辑// 分别求出其左右子树的高度然后如果差值小于等于1则返回当前二叉树的高度// 否则返回-1表示已经不是二叉平衡树了。int leftHeight getHeight(node-left);if (leftHeight -1) return -1; // 在这里提前判断就不用继续递归右节点(因为不平衡没有必要再计算高度了)int rightHeight getHeight(node-right);if (rightHeight -1) return -1; // 提前判断if (abs(leftHeight - rightHeight) 1) return -1;else return 1 max(leftHeight, rightHeight);}bool isBalanced(TreeNode* root) {if (root nullptr) return true;return getHeight(root) -1 ? false: true;} #endif };复杂度 时间复杂度 空间复杂度 思路总结
http://www.yutouwan.com/news/467371/

相关文章:

  • 网站结构图怎么做科技公司的网站
  • 自贡网站推广万户网站建设
  • 电气工程专业毕业设计代做网站wordpress搭建拒绝访问
  • 工厂做网站官方网站的英文
  • 做网站还需要服务器吗网站架构设计师待遇怎么样
  • 网站开发技术基础教程wordpress登录开发
  • 深圳网站建设制作公司排名怎么查网站做404页面没
  • 山东天狐做网站cms百度云网盘资源分享网站
  • 给周杰伦做网站怎么做网页制作鼠标点击导航项时下拉显示
  • 做动效的网站梧州网站建设梧州
  • 网站侧边栏导航代码c 做网站设计
  • 昆山制造网站的地方河北建设工程招标网官方网站
  • 怎么做网站的动效招投标信息查询平台
  • 老榕树网站建设凡科建站电脑版网址
  • 长沙做一个网站多少钱选择seo网站排名优化
  • 移动网站好处网站建设平台杭州
  • 深圳哪家网站公司好沐川移动网站建设
  • 和龙市建设局网站推广普通话的标语
  • 全屏自适应网站模板php 微网站开发
  • 河南工程建设协会网站深圳网站建设jm3q
  • 番禺网站开发技术宝安中心医院入职体检
  • 百度推广培训机构爱网站推广优化
  • 东莞模板网站设计织梦网站地图制作教程
  • 洛阳网站推广怎么做网页设计html代码大全ppt
  • 做网站需要去工商备案吗网站建设印花税
  • 无锡网站网页设计各家建站平台
  • 怎么建设阿里巴巴国际网站建设部网站材料价格上涨规定
  • 网站备案的幕布是什么意思做网站可以把文字做成图片吗
  • 广州网站建设公司推荐wordpress 投稿 标签
  • 青岛网站建设大全wordpress图片异步延迟加载js