Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template<typename Key, typename Value>
- typename MyAVLTree<Key, Value>::Node* MyAVLTree<Key, Value>::tallestGC(Node* node)
- {
- Node* tempLeft = node->left;
- Node* tempRight = node->right;
- if(getHeight(tempLeft) >= getHeight(tempRight))
- {
- if(tempLeft->left != nullptr && tempLeft->right != nullptr)
- {
- if(getHeight(tempLeft->left) >= getHeight(tempLeft->right))
- {
- return tempLeft->left;
- }
- else
- {
- return tempLeft->right;
- }
- }
- if(tempLeft->left == nullptr && tempLeft->right != nullptr)
- {
- return tempLeft->right;
- }
- if(tempLeft->right == nullptr && tempLeft->left != nullptr)
- {
- return tempLeft->left;
- }
- }
- else
- {
- if(tempRight->right != nullptr && tempRight->left != nullptr)
- {
- if(getHeight(tempRight->right) >= getHeight(tempRight->left))
- {
- return tempRight->right;
- }
- else
- {
- return tempRight->left;
- }
- }
- if(tempRight->left == nullptr && tempRight->right != nullptr)
- {
- return tempRight->right;
- }
- if(tempRight->right == nullptr && tempRight->left != nullptr)
- {
- return tempRight->left;
- }
- }
- return node;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement