二叉树递归模板总结

101. 对称二叉树

复制代码
 bool isQ(TreeNode* root1,TreeNode* root2){
        if(root1==nullptr&&root2==nullptr){
            return true;
        }
        else if(root1==nullptr||root2==nullptr){
            return false;
        }
        else if(root1->val!=root2->val){
            return false;
        }
        return isQ(root1->left,root2->right)&&isQ(root1->right,root2->left);
    }
复制代码

108. 将有序数组转换为二叉搜索树

复制代码
TreeNode* h(vector<int>& nums,int left,int right){
        if(left>right){
            return nullptr;
        }
        int mid=(left+right)/2;
        TreeNode* root=new TreeNode(nums[mid]);
        root->left=h(nums,left,mid-1);
        root->right=h(nums,mid+1,right);
        return root;
    }
复制代码

 求树高

int forhigh(TreeNode* root){
        if(root==nullptr){
            return 0;
        }
        int l=forhigh(root->left);
        int r=forhigh(root->right);
        return max(l,r)+1;
    }

 

posted @   XA科研  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示