【LeetCode】Balanced Binary Tree
来源:互联网 发布:live聊天软件 编辑:程序博客网 时间:2024/05/08 13:54
Given a binary tree, determine if it is height-balanced.
For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1.
思路:见代码。
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */struct Treebalance{ int val; bool isbalc;};class Solution {public: Treebalance Balanced(TreeNode *root){ Treebalance ret; ret.val=0; ret.isbalc=true; if(root==NULL)return ret; if(root->left==NULL&&root->right==NULL){ ret.val=1; return ret; }else if(root->left==NULL){ ret=Balanced(root->right); if(ret.val==1&&ret.isbalc==true){ ret.val=2; return ret; } else{ ret.isbalc=false; return ret; } }else if(root->right==NULL){ ret=Balanced(root->left); if(ret.val==1&&ret.isbalc==true){ ret.val=2; return ret; } else{ ret.isbalc=false; return ret; } }else{ ret=Balanced(root->left); Treebalance ret1; ret1=Balanced(root->right); if(ret.isbalc&&ret1.isbalc){ if(((ret.val-ret1.val)>=-1)&&((ret.val-ret1.val)<=1)){ ret.val=1+(ret.val>ret1.val?ret.val:ret1.val); return ret; }else{ ret.isbalc=false; return ret; } }else{ ret.isbalc=false; return ret; } } } bool isBalanced(TreeNode *root) { if(root==NULL)return true; Treebalance ret; ret=Balanced(root); return ret.isbalc; }};
0 0
- LeetCode: Balanced Binary Tree
- [LeetCode]Balanced Binary Tree
- LeetCode Balanced Binary Tree
- [Leetcode] Balanced Binary Tree
- LeetCode : Balanced Binary Tree
- LeetCode Balanced Binary Tree
- [LeetCode] Balanced Binary Tree
- 【leetcode】Balanced Binary Tree
- [LeetCode]Balanced Binary Tree
- [LeetCode] Balanced Binary Tree
- [Leetcode]Balanced Binary Tree
- [leetcode]Balanced Binary Tree
- Leetcode: Balanced Binary Tree
- LeetCode-Balanced Binary Tree
- LeetCode - Balanced Binary Tree
- [LeetCode] Balanced Binary Tree
- LeetCode | Balanced Binary Tree
- 【leetcode】Balanced Binary Tree
- C++面试
- 快速排序算法
- 深入理解计算机系统 家庭作业2.69
- 2014 腾讯笔试 开发 实习
- Objective-C中方法的重写
- 【LeetCode】Balanced Binary Tree
- small tree
- HTML5的革新:结构之美
- c++-构造函数与析构函数
- OC基础—三大特性之多态
- C++面试(2)
- 黑马程序员——学习日记7 java面向对象之封装
- C#.net 数据类型
- vs2010下面的ACE库安装配置详解