递归求树的深度,判断是否是平衡树
2017-03-10 22:35
162 查看
求树的深度
/* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { } };*/ class Solution { public: int TreeDepth(TreeNode* pRoot) { if(pRoot == NULL) return 0; int left = TreeDepth(pRoot->left); int right = TreeDepth(pRoot->right); return (left>right) ? left+1: right+1; } };
判断是否是平衡树
class Solution { public: int TreeDepth(TreeNode* pRoot){ if(pRoot == NULL) return 0; int left = TreeDepth(pRoot->left); int right = TreeDepth(pRoot->right); return (left>right)? left+1: right+1; } bool IsBalanced_Solution(TreeNode* pRoot) { if(pRoot == NULL) return true; int leftNum = TreeDepth(pRoot->left); int rightNum = TreeDepth(pRoot->right); if(abs(leftNum-rightNum)>1) return false; return IsBalanced_Solution(pRoot->left) && IsBalanced_Solution(pRoot->right); } };
相关文章推荐
- 基于深度优先的递归判断域用户是否是某个组的成员
- leetcode_112. Path Sum 二叉树路径求和,判断是否存在路径和为某个值的路径,深度遍历,递归的return
- python 得到树的深度、判断树是否为平衡树
- 【树】二叉树的深度 + 树的最小深度 + 判断是否为平衡二叉树
- 递归实现判断数组是否递增
- 二叉树镜像(递归和非递归)+ 判断一棵二叉树是否是平衡二叉树+ 判断一棵树是否为完全二叉树
- 华为机试 是否存在路径(深度优先遍历、回朔法、递归)
- 二叉树系列 - [LeetCode] Symmetric Tree 判断二叉树是否对称,递归和非递归实现
- 三:求二叉树的深度以及判断二叉树是否平衡
- ****ife 递归实现深度克隆(内含JS数据类型判断,对象遍历)****
- 递归思维判断数组a[N]是否为一个递增数组
- 【LeetCode101-110】二叉树对称及存储,前序中序遍历生成二叉树,中序后序生成二叉树,数组转化为AVL平衡树,判断二叉树是否平衡
- 判断二叉树是否为平衡树
- 二叉树面试题—前,中,后序(非递归),判断是否为完全二叉树
- python二叉树深度 判断平衡树
- 深度学习-利用递归网络判断序列趋势
- 判断二叉树是否为平衡树
- 递归判断数组是否是升序
- 求二叉树深度、判断是否是平衡二叉树
- 二叉树的深度,判断是否是平衡二叉树