当前位置: 首页 > 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);}
};
http://www.dtcms.com/a/211789.html

相关文章:

  • 【数据结构】线性表之“双链表(带头循环双向链表)”
  • 这个方法关闭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桥接设计
  • 鸿蒙仓颉开发语言实战教程:页面跳转和传参
  • Java多线程JUC
  • 2025.05.23 Axure 动态面板学习笔记
  • Linux 的编辑器--vim
  • Apache 高级配置实战:从连接保持到日志分析的完整指南
  • 对WireShark 中的UDP抓包数据进行解析
  • Php JIT 使用详解
  • 从智能提效到产品赋能的架构实践
  • 【HW系列】—web常规漏洞(SQL注入与XSS)
  • RocketMQ 5.0 核心概念与架构解析