当前位置: 首页 > news >正文

二叉树--OJ2

1.判断两棵树是否相同

    bool sametree(TreeNode* root1,TreeNode* root2){if(root1==NULL&&root2==NULL)return 1;if(root1==NULL||root2==NULL)return 0;if(root1->val!=root2->val)return 0;return sametree(root1->left,root2->left)&&sametree(root1->right,root2->right)}

2.另一棵树的子树

在这里插入图片描述

class Solution {
public:TreeNode* PreOrder(TreeNode* root,int a) {if (root == NULL) {return NULL;}if(root->val==a){return root;}auto r1=PreOrder(root->left,a);if(r1)return r1;auto r2=PreOrder(root->right,a);return r2;}bool sametree(TreeNode* root1, TreeNode* root2) {if (root1 == NULL && root2 == NULL)return 1;if (root1 == NULL || root2 == NULL)return 0;if(root1->val!=root2->val)return 0;return sametree(root1->left, root2->left) &&sametree(root1->right, root2->right);}bool isSubtree(TreeNode* root, TreeNode* subRoot) {int a=subRoot->val;while(auto b=PreOrder(root, a)){if(sametree(b, subRoot)){return 1;}b->val=(!a);}return 0;}
};

法二

class Solution {
public:bool sametree(TreeNode* root1, TreeNode* root2) {if (root1 == NULL && root2 == NULL)return 1;if (root1 == NULL || root2 == NULL)return 0;if(root1->val!=root2->val)return 0;return sametree(root1->left, root2->left) &&sametree(root1->right, root2->right);}bool isSubtree(TreeNode* root, TreeNode* subRoot) {if(root==NULL)return 0;if(sametree(root, subRoot))return 1;return isSubtree(root->left, subRoot)||isSubtree(root->right, subRoot);}
};

对称二叉树

在这里插入图片描述

class Solution {
public:bool sametree(TreeNode* root1, TreeNode* root2) {if (root1 == NULL && root2 == NULL)return 1;if (root1 == NULL || root2 == NULL)return 0;if(root1->val!=root2->val)return 0;return sametree(root1->left, root2->left) &&sametree(root1->right, root2->right);}bool isSubtree(TreeNode* root, TreeNode* subRoot) {if(root==NULL)return 0;if(sametree(root, subRoot))return 1;return isSubtree(root->left, subRoot)||isSubtree(root->right, subRoot);}
};

相关文章:

  • 【数据结构】线性表之“双链表(带头循环双向链表)”
  • 这个方法关闭PowerBI账户的安全默认值
  • 【Android】基于SurfaceControlViewHost实现跨进程渲染
  • IEEE链接Overleaf
  • 代码随想录第43天:图论4(最小生成树、拓扑排序)
  • 代码随想录算法训练营 Day53 图论Ⅳ 字符串接龙 有向图 岛屿周长
  • 第5章:任务间通信机制(IPC)全解析
  • 云手机安卓12哪个好?掌派云手机安卓12系统上线,开启流畅体验新纪元
  • 小程序使用web-view 修改顶部标题 安全认证文件部署在nginx
  • 从零开始:Python语言进阶之迭代器
  • NotePad++编辑Linux服务器文档
  • uni-app学习笔记十--vu3 computed的运用(二)
  • 图论核心:深度搜索DFS 与广度搜索BFS
  • <uniapp><threejs>在uniapp中,怎么使用threejs来显示3D图形?
  • 无心剑中译戴维斯《悠闲》
  • uni-app学习笔记十四-vue3中emit的使用
  • rabbitmq的使用介绍
  • 【TDengine源码阅读】举例说明pthread_once_t和PTHREAD_ONCE_INIT
  • PPT连同备注页(演讲者模式)一块转为PDF
  • 深入浅出IIC协议 - 从总线原理到FPGA实战开发 -- 第六篇:AXI4-Lite桥接设计
  • 新网站如何推广/今日头条官网首页
  • 做计量检定的网站/百度推广开户费用多少
  • 佛山龙江做网站的/上海网站建设推广服务
  • 企业还有人做网站么/济南专业seo推广公司
  • 中原区建设局网站/网络营销学什么内容
  • 网站建设 话术/陕西优化疫情防控措施