平衡二叉树-尊龙官方平台

平衡二叉树-2

el/2024/3/25 15:27:16

力扣地址

后序遍历

/*** definition for a binary tree node.* struct treenode {*     int val;*     treenode *left;*     treenode *right;*     treenode(int x) : val(x), left(null), right(null) {}* };*/
class solution {
public:bool isbalanced(treenode* root) {if (!root) return true;return judge(root) != -1;}int judge(treenode* root) {if (!root) return 0;int left = judge(root->left);if (-1 == left) return -1;int right = judge(root->right);if (-1 == right) return -1;return std::abs(left - right) <= 1 ? std::max(left, right)   1 : -1;}
};

先序遍历

/*** definition for a binary tree node.* struct treenode {*     int val;*     treenode *left;*     treenode *right;*     treenode(int x) : val(x), left(null), right(null) {}* };*/
class solution {
public:bool isbalanced(treenode* root) {if (!root) return true;return std::abs(depth(root->left) - depth(root->right)) <= 1 && isbalanced(root->left) && isbalanced(root->right);}int depth(treenode* root) {if (!root) return 0;return std::max(depth(root->left), depth(root->right))   1;}
};

 


http://www.ngui.cc/el/5126735.html

相关文章

从上到下打印二叉树-2

力扣地址 使用队列,开始入队前,判断当前队列长度,作为接下来需要打印的节点数量 /*** definition for a binary tree node.* struct treenode {* int val;* treenode *left;* treenode *right;* treenode(int x) : val(x),…

翻转单词顺序-1

力扣地址 常规做法: 逐个遍历然后拼接 class solution { public:string reversewords(string s) {string res, tmp;for (auto c : s) {if (c ! ) {tmp c;continue;}if (tmp.size()) {res tmp " " res;tmp.clear();}}if (tmp.size()) {res tmp &…

在排序数组中查找数字-1

力扣地址 二分查找: 通过二分查找快速找到目标值,然后将目标值的 index 扩散到目标值两边 class solution { public:int search(vector& nums, int target) {if (!nums.size()) return 0;int low 0;int high nums.size() - 1;int pi…

二叉搜索树的最近公共祖先-1

力扣地址 递归: 时间复杂度:,其中n是二叉树结点个数 空间复杂度:,其中n是栈的深度,也是二叉树结点个数 /*** definition for a binary tree node.* struct treenode {* int val;* treenode *le…

linux 设置代理地址

gsettings set org.gnome.system.proxy mode manual gsettings set org.gnome.system.proxy.http host 127.0.0.1 gsettings set org.gnome.system.proxy.http port 7890

gerrit查看用户是否存在

ssh -p 29418 -i ~/.ssh/id_rsa ip -l username

unity 角色自动播放随机动画

unity 角色自动播放随机动画 在游戏过程中(尤其是rpg类游戏中),为了让一切显得更加真实,我们往往希望一些npc或者怪物能够在多个动画或是状态间自动切换,而不是一直重复播放同一个idle。这时候就需要为他们实现自动播放随机动画的功能。 写在前边: 1.本文章为个人实际…

unity mvc设计模式与ui背包界面制作

unity mvc设计模式与ui背包界面制作 mvc设计模式非常适合ui的架构,ui界面相当于view,ui转换控制相当于controller,ui上面的数据变换相当于model。mvc设计模式在软件设计中无处不在,结合其他设计模式或设计思想,同一设计方案中,对于更好的mvc模式的追求几乎是没有尽头的。…

c#笔记01 c#和.net框架

c#笔记01 c#和.net框架 ——本系列是基于人民邮电出版社《c#2008 c#图解教程》、清华大学出版社《c#入门经典(第五版)》两本书的自学c#笔记,如果您发现了本文的纰漏,还望不吝指正。 写在前边: c#是为开发微软公司.net框架上的程序而设计的 20世纪90年代后期,大多数程序…

c#笔记02 c#的基本语法

c#笔记02 c#的基本语法 c#是可用于创建要运行在.net clr上的应用程序的语言之一,它从c和c 语言演化而来,是microsoft专门为使用.net平台而创建的。使用c#开发应用程序比使用c 简单,因为其语法比较简单。但是,c#是一种强大的语言,在c 中能完成的任务几乎都能利用c#完成。…
网站地图