Question: Plz just write one function which the question gave. Because this will be tested by code runner. We don't need whole program, but just a

Plz just write one function which the question gave. Because this will be tested by code runner. We don't need whole program, but just a function. Don't add other functions

Write a function to apply left or right rotations to a binary search tree based on the height of the left and right sub-trees of the root. The function should first determine if a binary search tree is height balanced, and if not, rotate the tree until it is. Your algorithm may need to apply a left or right rotation multiple times. You will not need to apply both a left and right rotation to any tree. The function should return the root of the tree.

TreeNode* CheckHeightAndRotate(TreeNode *root);

TreeNode struct:

struct TreeNode { int key; TreeNode *leftChild; TreeNode *rightChild; TreeNode *parent; }; 

Example:

Input Tree: 15 / \ 8 18 / \ 5 12 / \ 3 6 Expected Output: 8 / \ 5 15 / \ / \ 3 6 12 18 

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!