Question: //main.cpp #include using namespace std; // Definition for a binary tree node. struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) { left

//main.cpp
#include
using namespace std;
// Definition for a binary tree node.
struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) {
left = NULL;
right = NULL;
val = x;
}
};
int getHeightBalance(TreeNode* root) {
// your code here
return 0;
}
void deleteTree(TreeNode* root)
{
if (root == NULL) return;
deleteTree(root->left);
deleteTree(root->right);
delete root;
root = NULL;
}
int main() {
TreeNode * n1 = new TreeNode(8);
TreeNode * n2 = new TreeNode(5);
TreeNode * n3 = new TreeNode(13);
TreeNode * n4 = new TreeNode(10);
n1->left = n2;
n1->right = n3;
n3->left = n4;
n3->right = new TreeNode(14);
n4->right = new TreeNode(11);
n4->right->right = new TreeNode(12);
cout
cout
cout
cout
deleteTree(n1);
return 0;
}
The Problem Complete the getHeightBalance function that accepts a BST TreeNode k root and returns the "height balance" of the tree Here, the height balance" of a tree is simply the height of its left-subtree minus the height of its right sub-tree. The height balance" of an empty tree is 0. HINT: It may be helpful to have a helper function for computing height. In main. cpp, a simple test case has been created with a simple binary search tree: 5 13 10 14 11 12
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
