剑指offer——27.二叉树的镜像
题目:
操作给定的二叉树,将其变换为源二叉树的镜像。
知识点:
- 无
注意:
无
代码实现:
遍历所有节点,交换当前节点的左右子节点,递归至叶子节点
/*二叉树镜像*/
void mirror(BinaryTreeNode *pRoot) {//边界值或特殊情况if (pRoot == nullptr) {return;}//递归至叶子节点(即左右子都为空)if (pRoot->m_pLeft == nullptr && pRoot->m_pRight == nullptr) {return;}//交换左右子节点BinaryTreeNode* temp = nullptr;temp = pRoot->m_pLeft;pRoot->m_pLeft = pRoot->m_pRight;pRoot->m_pRight = temp;//递归左子树、右子树mirror(pRoot->m_pLeft);mirror(pRoot->m_pRight);
}int main()
{ BinaryTreeNode* pNodeA1 = CreateBinaryTreeNode(8);BinaryTreeNode* pNodeA2 = CreateBinaryTreeNode(8);BinaryTreeNode* pNodeA3 = CreateBinaryTreeNode(7);BinaryTreeNode* pNodeA4 = CreateBinaryTreeNode(9);BinaryTreeNode* pNodeA5 = CreateBinaryTreeNode(2);BinaryTreeNode* pNodeA6 = CreateBinaryTreeNode(4);BinaryTreeNode* pNodeA7 = CreateBinaryTreeNode(7);ConnectTreeNodes(pNodeA1, pNodeA2, pNodeA3);ConnectTreeNodes(pNodeA2, pNodeA4, pNodeA5);ConnectTreeNodes(pNodeA5, pNodeA6, pNodeA7);mirror(pNodeA1);PrintTree(pNodeA1);getchar();return 0;
}
剑指offer——27.二叉树的镜像相关推荐
- 《LeetCode力扣练习》剑指 Offer 27. 二叉树的镜像 Java
<LeetCode力扣练习>剑指 Offer 27. 二叉树的镜像 Java 一.资源 题目: 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 例如输入: 4 / 2 7 / \ / ...
- 【LeetCode】剑指 Offer 27. 二叉树的镜像
[LeetCode]剑指 Offer 27. 二叉树的镜像 文章目录 [LeetCode]剑指 Offer 27. 二叉树的镜像 一.递归法 二.辅助栈(或队列) 一.递归法 根据二叉树镜像的定义,考 ...
- 算法leetcode|剑指 Offer 27. 二叉树的镜像|226. 翻转二叉树(rust很强)
文章目录 剑指 Offer 27. 二叉树的镜像|226. 翻转二叉树: 样例 1: 限制: 分析 题解 rust go c++ java python 原题传送门:https://leetcode. ...
- JZ27 [剑指 Offer 27] 二叉树的镜像
二叉树的镜像 Category Difficulty Likes Dislikes lcof Easy (79.61%) 311 - 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 例如输入: ...
- 【Java】 剑指offer(27) 二叉树的镜像
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 思路 画图可 ...
- 剑指offer 27. 二叉树的镜像
声明:本系列博客是对何海涛<剑指offer>的关键点总结. 1.树的镜像 定义:树的根结点相同,但是左右两个子节点交换了位置 2.解题思路 1)前序遍历树的每一个结点: 2)如果遍历到的节 ...
- 剑指Offer 27—二叉树的镜像
题意 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 力扣 法1-递归 二叉树镜像定义: 对于二叉树中任意节点 root ,设其左 / 右子节点分别为 left, right:则在二叉树的镜像中 ...
- 剑指 Offer 27. 二叉树的镜像【无取巧解法,易于理解!】
看题解时,很多大牛用很少的代码就完成了AC,但可能看了很多遍也看不懂,因此萌生了写一种最"笨"最完整的代码的想法,这样大家可以通过我的代码入门,看懂了再去挑战大牛们的简洁解法. 请 ...
- 剑指offer 27 二叉树的镜像
请完成一个函数,输入一个二叉树,该函数输出它的镜像. 例如输入: 4 / 2 7 / \ / 1 3 6 9 镜像输出: 4 / 7 2 / \ / 9 6 3 1 示例 1: 输入:root = [ ...
最新文章
- 转--Linux邮件服务器软件比较
- [Lintcode]118. Distinct Subsequences/[Leetcode]115. Distinct Subsequences
- 关于按钮背景透明 + div拖拽
- python怎么利用gpu加速_python怎么利用gpu加速
- 《Think Python》第15章学习笔记
- 万稞pw80线切割编程软件_SODICK 沙迪克慢走丝线切割 T 代码在程序NC 中的小应用...
- 自己用qt编写的图片查看器
- 当国际贸易撞上AI,会产生怎样的化学反应?
- 单机和弱联网游戏内购,白嫖的机会来了
- html弹性布局什么意思,弹性布局display:flex是什么意思
- 阿里、百度、搜狐等公司社招面试记录与总结
- Tableau联动之工作表联动
- android rom 制作工具,ROM工具箱(ROM Toolbox Pro)
- Mac电脑启动出现空白屏幕的解决办法
- ACdream 1224 Robbers
- 程序员漫学英语单词——resume
- clipboard 多次回调
- 得到《三体》听书笔记
- 根据经纬度获取城市名
- 浅谈 Adaboost 算法