if-else这个是局部变量吗?

请问这段代码里b1和b2是不是局部变量呀

如果把
if(b1&&b2) return true;
return false;
放到外面为什么不对呢

    if(lt==NULL && rt!=NULL) return false;
    else if(rt==NULL && lt!=NULL) return false;
    else if(lt==NULL && rt==NULL) return true;
    else if(lt->val != rt->val) return false;
    else{
        bool b1=compare(lt->left,rt->right);
        bool b2=compare(lt->right,rt->left);
    
    if(b1&&b2) return true;
    return false;
    }
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果