BST traversal

whitehousechef·2025년 5월 20일

initial

here too I thought once we get to the leftmost node, we should update answer. Thats true but the second if statement should be placed after the inorder traversal of left node FIRST. This is cuz if we have value like 4, which doesnt exist in BST in this diagram, we have to return -1. So if the node is bigger than num, we just return. And since ans is declared as -1, we return ans

sol

//int findLargestSmallerKey(int num) {
//    // your code goes here
//
//    inOrderTraversal(root, num);
//    return ans;
//}
//// left->root->right
//void inOrderTraversal(Node node, int num){
//    if(node==null) return;
//    inOrderTraversal(node.left, num);
//    if(node.key>=num) {
//        return;
//    }
//    ans = node.key;
//    inOrderTraversal(node.right, num);
//}

complexity

log n for balanced
n for skwede space
n time

0개의 댓글