原题链接:https://leetcode-cn.com/problems/ping-heng-er-cha-shu-lcof/

1、后序遍历 + 剪枝

bool isBalanced(TreeNode* root) {return dfs(root) != -1;
}int dfs(TreeNode* root) {if (root == NULL) return 0;int depthLeft = dfs(root->left);if (depthLeft == -1) return -1;int depthRight = dfs(root->right);if (depthRight == -1) return -1;return abs(depthLeft - depthRight) < 2 ? max(depthLeft, depthRight) + 1 : -1 ;
}

2、先序遍历 + 判断深度

bool isBalanced(TreeNode* root) {if(root == NULL) return true;return abs(depth(root->right) - depth(root->left)) <= 1 && isBalanced(root->left) && isBalanced(root->right);
}int depth(TreeNode* root) {if (root == NULL) return 0;return max(depth(root->left), depth(root->right)) + 1;
}

leetcode算法题--平衡二叉树相关推荐

  1. LeetCode算法题整理(200题左右)

    目录 前言 一.树(17) 1.1.后序遍历 1.2.层次遍历 1.3.中序 1.4.前序 二.回溯(20) 2.1.普通回溯 2.2.线性回溯:组合.排列.子集.分割 2.3.矩阵回溯 三.二分查找 ...

  2. LeetCode算法题-Nth Digit(Java实现)

    这是悦乐书的第215次更新,第228篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第83题(顺位题号是400).找到无限整数序列的第n个数字1,2,3,4,5,6,7,8 ...

  3. LeetCode算法题-Reverse Linked List(Java实现)

    这是悦乐书的第192次更新,第195篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第51题(顺位题号是206).反转单链表.例如: 输入:1-> 2-> 3- ...

  4. LeetCode算法题-Convert a Number to Hexadecimal(Java实现)

    这是悦乐书的第219次更新,第231篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第86题(顺位题号是405).给定一个整数,写一个算法将其转换为十六进制.对于负整数,使 ...

  5. leetcode算法题--零钱兑换

    原题链接:https://leetcode-cn.com/problems/coin-change/ 相关题目:leetcode算法题–完全平方数★ 动态规划 dp[i] i从0到amount,dp[ ...

  6. leetcode算法题-- 买卖股票的最佳时机

    原题链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/ 这类股票题目请见leetcode算法题–最佳买卖股票时机含 ...

  7. leetcode算法题--买卖股票的最佳时机 II

    原题链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/ 这类股票题目请见leetcode算法题–最佳买卖股票 ...

  8. leetcode算法题--买卖股票的最佳时机含手续费

    原题链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee/ 这类股票题目请见 ...

  9. leetcode算法题--完全平方数★

    原题链接:https://leetcode-cn.com/problems/perfect-squares/ 相关题目:leetcode算法题–零钱兑换 1.回溯法 就是暴力法,套路就是递归,但是有很 ...

最新文章

  1. Linux 下 RMAN无反应问题处理
  2. JavaScript学习笔记——underscore操作对象的方法
  3. vba调用计算机,如何实现跨工作表自动引用数据? 求:EXCEL公式(函数)或VBA宏程序...
  4. Hyper-V 2016 系列教程15 Hyper-V Cmdlets PowerShell 命令提示符
  5. 重温强化学习之策略梯度算法
  6. 5年前的Dubbo,2年前的Spring Cloud,都输给了这个架构!
  7. arcgis字段计算器利用python按不同两列数据进行编号
  8. 3.Programming in TensorFlow and Keras
  9. Python实现二叉搜索树
  10. 程序员都应该知道的 10 大算法
  11. linux快捷键停止抓包命令,【linux命令】Linux抓包命令tcpdump以及常见抓包使用方法...
  12. Clearcase no version selected issue
  13. matlab在机械中的应用,MATLAB在机械工程控制基础中的应用
  14. Arduino开发板使用TFT LCD液晶显示屏的终极新手入门指南
  15. ITIL、COBIT、CMMi和ISO 17799管理新一代数据中心的最佳实践介绍
  16. 高中数学基础-1.2.2函数的表示法(上):解析法、列表法、图形法
  17. 20155311《网络对抗》信息搜集与漏洞扫描
  18. Hi3519AV100 适配IMX347
  19. 2020.09.16 记录学习的点滴
  20. HashMap常见面试题汇总:建议初步了解源码后再细品

热门文章

  1. 函数式编程语言python-函数式编程初探
  2. python打开文件并读取内容-python怎么打开文件读取数据
  3. python画圆简单代码-Python画直线 画圆 画矩形代码
  4. python语言官方网站地址-python 中国地址
  5. python100个必背知识-学Python必须背的42个常见单词,看看你都会吗?
  6. 学python就业要看哪些书-编程0基础自学Python,踩完这些坑,我才成功就业!
  7. python培训就业班口碑排行榜-Python就业班培训多少钱?老男孩Python收费标准
  8. 只会python好找工作吗-python真的不好找工作吗?
  9. python基础代码事例-python基础代码大全
  10. pip安装库包以及.whl库包、.tar.gz库包具体方式