Lowest Common Ancestor (LCA):
Diameter of a Tree:
Binary Search Tree (BST) Operations:
struct Node {
int key;
Node *left, *right;
Node(int k) : key(k), left(NULL), right(NULL) {}
};
Node* insert(Node* root, int key) {
if (!root) return new Node(key);
if (key < root->key)
root->left = insert(root->left, key);
else if (key > root->key)
root->right = insert(root->right, key);
return root;
}