LeetCode "Balanced Binary Tree"
2014-07-21 07:38
337 查看
Another recursion problem.
class Solution { public: int getHeight(TreeNode *p) { if (!p) return 0; int hL = 1; if (p->left) hL = 1 + getHeight(p->left); int hR = 1; if (p->right) hR = 1 + getHeight(p->right); return (hL > hR ? hL : hR); } bool isBalanced(TreeNode *root) { if (!root || (!root->left && !root->right)) return true; bool bLeft = isBalanced(root->left); if (!bLeft) return false; bool bRight = isBalanced(root->right); if (!bRight) return false; { int hL = getHeight(root->left); int hR = getHeight(root->right); if (abs(hL - hR) < 2) return true; } return false; } };
相关文章推荐
- [LeetCode] Balanced Binary Tree
- LeetCode - Balanced Binary Tree
- [LeetCode]Balanced Binary Tree
- LeetCode Balanced Binary Tree
- 【LeetCode with Python】 Balanced Binary Tree
- Leetcode: Convert Sorted List to Balanced Binary Search Tree
- [LeetCode 110] - 平衡二叉树 (Balanced Binary Tree)
- [LeetCode] Balanced Binary Tree
- LeetCode Online Judge 题目C# 练习 - Balanced Binary Tree
- [LeetCode]Balanced Binary Tree
- [LeetCode] Balanced Binary Tree Solution
- [Leetcode 9] 110 Balanced Binary Tree
- leetcode 1: 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