spider68

balanced tree

Jun 22nd, 2020
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.50 KB | None | 0 0
  1. class solution {
  2. public:
  3. int dfsHeight (TreeNode *root) {
  4.         if (root == NULL) return 0;
  5.        
  6.         int leftHeight = dfsHeight (root -> left);
  7.         if (leftHeight == -1) return -1;
  8.         int rightHeight = dfsHeight (root -> right);
  9.         if (rightHeight == -1) return -1;
  10.        
  11.         if (abs(leftHeight - rightHeight) > 1)  return -1;
  12.         return max (leftHeight, rightHeight) + 1;
  13.     }
  14.     bool isBalanced(TreeNode *root) {
  15.         return dfsHeight (root) != -1;
  16.     }
  17. };
Add Comment
Please, Sign In to add comment