sundeepblue
2/5/2014 - 2:34 PM

deserialize BST binary search tree

deserialize BST binary search tree

void deserializeBST(TreeNode *&r, int min, int max, int &insertval, ifstream &fin) { // gist, *&r
    if(insertval <= min || insertval >= max) return;
    int val = insertval;  // gist, leave a copy of insertval into val, since we'll use insertval to accept new inputs
    r = new TreeNode(val);
    if(fin >> insertval) {
        deserializeBST(r->left, min, val, insertval, fin);
        deserializeBST(r->right, val, max, insertval, fin);
    }
}