二叉树递归模板总结
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; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界