前言
这是基于力扣二叉搜索树中的搜索
代码
TreeNode* loop(TreeNode* root,int target){
if(root==nullptr) return nullptr;
if(root->val == target) return root;
else if(root->left->val > target){
return loop(root->left);
}
else{
return loop(root->right);
}
}
个人理解
这里的左右子树判断并不是单纯的符合条件判断了, 而是一种剪枝或者更像是符合条件的递归 而不是盲目的递归, 之前我对递归的理解或许还可以再加一层看看能否直接不用递归从而获取预期的值在递归里做剪枝并不是特别正确, 这个也没有说可以提前得到预期的结果, 而是根据条件来判断究竟是否进入其中的某一个递归(当然, 就算进入也不会影响预期的结果)







网友评论