(十二)剑指offer之树子结构和二叉树镜像
来源:互联网 发布:女士 名片夹 知乎 编辑:程序博客网 时间:2024/06/05 14:57
1、题目描述:
输入两颗二叉树A,B,判断B是不是A的子结构。
/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x):val(x), left(NULL), right(NULL) { }};*/class Solution {public: bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2) { bool result = false; if(pRoot1 != nullptr && pRoot2 != nullptr){ if(pRoot1->val == pRoot2->val) result = Does_tree1_has_tree2(pRoot1, pRoot2); if(!result) result = HasSubtree(pRoot1->left, pRoot2); if(!result) result = HasSubtree(pRoot1->right, pRoot2); } return result; } bool Does_tree1_has_tree2(TreeNode *root1, TreeNode *root2){ if(root2 == nullptr) return true; if(root1 == nullptr) return false; if(root1->val != root2->val) return false; return Does_tree1_has_tree2(root1->left, root2->left) && Does_tree1_has_tree2(root1->right, root2->right); }};
2、题目描述:
操作给定的二叉树,将其变换为源二叉树的镜像。
输入描述:
二叉树的镜像定义:
源二叉树
8
/ \
6 10
/ \ / \
5 7 9 11
镜像二叉树
8
/ \
10 6
/ \ / \
11 9 7 5
/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: void Mirror(TreeNode *pRoot) { if(pRoot == nullptr) return; if(pRoot->left == nullptr && pRoot->right == nullptr) return; TreeNode * temp = pRoot->left; pRoot->left = pRoot->right; pRoot->right = temp; if(pRoot->left) Mirror(pRoot->left); if(pRoot->right) Mirror(pRoot->right); }};
如有建议或其他问题,可随时给我们留言。或者到以下链接:
https://github.com/gaobaoru/code_day
Star/Fork/Push 您的代码,开源仓库需要您的贡献。
请查看Coding 题目网址和收藏Accepted代码仓库,进行coding!!!
1 0
- (十二)剑指offer之树子结构和二叉树镜像
- 剑指Offer之 - 树的子结构
- 剑指offer之树的子结构
- 【剑指offer】之树的子结构
- 剑指offer之树的子结构
- 剑指offer 之 树的子结构
- 剑指offer——普通二叉树的子结构
- 剑指offer之树的子结构(Python)
- 剑指offer-树的子结构 判断二叉树B是不是A的子结构
- 剑指offer-面试题18 判断二叉树B是不是二叉树A的子结构
- 【剑指offer】面试题18:输入两颗二叉树A和B,判断B是不是A的子结构?
- 剑指offer 18---输入两棵二叉树A和B,判断B是不是A的子结构
- 剑指Offer算法实现之十八:树的子结构
- 剑指offer系列之十六:树的子结构
- 码农小汪-剑指Offer之15-树的子结构
- 剑指offer系列之16:树的子结构
- 剑指offer之面试题18:树的子结构
- 剑指offer之面试题18树的子结构
- 从fit文件中提取lick指数的matlab程序
- jq 生成缩略图
- shell script 的调试 debug
- js获取当前日期并格式化(多种格式)
- 精通 Oracle+Python,第 1 部分:查询最佳应践
- (十二)剑指offer之树子结构和二叉树镜像
- Python读写文件
- 时间戳在线转化工具
- Java、JSP插入数据到MySQL数据库时出现中文乱码的最终解决方案
- EditText 利用IntentFilter 限制输入 0-9 a-z A-Z
- iOS (null)与<null>的判断
- SQL——处理数据(INSERT、DELETE、UPDATE)
- mysql 查询当天、昨天、本周、上周、本月、上月、今年、去年数据
- 并查集