Swap two node in BST
1. Given a BST
2. Swap two nodes in the BST
void swapNode(Node* root, int n, int m, Node*& npt,  Node*& mpt) {
    if(root) {
        swapNode(root->left, n, m, npt, mpt);
        if(npt == NULL && mpt == NULL && (root->data == n || root->data == m)){
            npt = root;
        }else if(npt && (root->data == n || root->data == m)){
            mpt = root;
        }else if(npt && mpt){
            int d = npt->data;
            npt->data = mpt->data;
            mpt->data = d;
        }
        
        swapNode(root->right, n, m, npt, mpt);
    }
}