二叉树翻转/镜像 (Java实现)
操作给定的二叉树,将其变换为源二叉树的镜像。
Leetcode226 翻转二叉树
import java.util.*;/** public class TreeNode {* int val = 0;* TreeNode left = null;* TreeNode right = null;* public TreeNode(int val) {* this.val = val;* }* }*/public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param pRoot TreeNode类 * @return TreeNode类*///函数入口public TreeNode Mirror (TreeNode pRoot) {// write code hereif(pRoot == null) return pRoot;// 让root节点交换它的左右子节点TreeNode temp = pRoot.left;pRoot.left = pRoot.right;pRoot.right = temp;//分别递归根节点的左右子节点,继续翻转它们的子节点Mirror(pRoot.left);Mirror(pRoot.right);return pRoot;}
}
难点:
此处其实抽象出了 树的前序遍历(根---左----右)的框架:
if(pRoot == null) return pRoot;
TreeNode temp = pRoot.left; // 根节点的处理
pRoot.left = pRoot.right;
pRoot.right = temp;
Mirror(pRoot.left); // 左子树的处理
Mirror(pRoot.right); // 右子树的处理
二叉树翻转/镜像 (Java实现)相关推荐
- 《LeetCode力扣练习》剑指 Offer 27. 二叉树的镜像 Java
<LeetCode力扣练习>剑指 Offer 27. 二叉树的镜像 Java 一.资源 题目: 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 例如输入: 4 / 2 7 / \ / ...
- 算法leetcode|剑指 Offer 27. 二叉树的镜像|226. 翻转二叉树(rust很强)
文章目录 剑指 Offer 27. 二叉树的镜像|226. 翻转二叉树: 样例 1: 限制: 分析 题解 rust go c++ java python 原题传送门:https://leetcode. ...
- 二叉树 | 二叉树的镜像(翻转)
牛客BM33 二叉树的镜像(翻转) 思路:遍历(此处不能用中序遍历) 二叉树的每个结点,分别翻转其左右孩子 我习惯用层序遍历 代码: public TreeNode Mirror (TreeNode ...
- 二叉树-二叉树的镜像(递归法)
题意: 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 二叉树镜像定义: 对于二叉树中任意节点 root,设其左 / 右子节点分别为 left, right :则在二叉树的镜像中的对应 root ...
- LeetCode-剑指 Offer 27. 二叉树的镜像
剑指 Offer 27. 二叉树的镜像 思路一:递归 从根节点开始,递归的对树进行遍历,并从叶子节点开始翻转,得到镜像.如果当前遍历到的节点root的左右两棵子树都已经翻转得到了镜像,那么我们只需要交 ...
- 牛客题霸 [二叉树的镜像]C++题解/答案
牛客题霸 [二叉树的镜像]C++题解/答案 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 题解: 根据题也不难看出,二叉树的镜像定义其实就是左右树翻转 所以我们一直递归左子树,到头后递归右子 ...
- 剑指offer-JZ27 二叉树的镜像(C++,附思路)
描述 操作给定的二叉树,将其变换为源二叉树的镜像. 数据范围:二叉树的节点数[0,1000] , 二叉树每个节点的值 [0,1000] 要求: 空间复杂度 O(n).本题也有原地操作,即空间复杂度 O ...
- 剑指offer:对称的二叉树(镜像,递归,非递归DFS栈+BFS队列)
1. 题目描述 /**请实现一个函数,用来判断一颗二叉树是不是对称的.注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的 */ 2. 递归 思路: /**1.只要pRoot.left和pRo ...
- 二叉树翻转(递归 + 非递归)
文章目录 前言 问题描述 递归实现 非递归实现 参考文献 前言 二叉树翻转是一道经典的面试编程题,经常出现在各大公司的招聘笔试面试环节. 这里还有个趣事,Homebrew 的作者 Max Howell ...
最新文章
- [计算机视觉][神经网络与深度学习]Faster R-CNN配置及其训练教程
- [攻防世界 pwn]——int_overflow
- 关于小程序授权地理位置(wx.getLocation + 用户体验)
- Oracle数据库启动以及说明
- 计算机应用基础模块2客观题答案 文档,卓顶精文2019计算机应用基础网上形考答案模块2 Word 2010 文字处理系统客观题答案...
- hMailServer之发送附件大小限制
- 为什么我只贴代码不给你们源码?
- go的匿名函数和闭包
- less,sass,stylus配置和应用教程及三者比较
- 十八、完成登录与注册页面的前端
- WebConfig节点详解
- readlink()不能读取硬链接的目标
- linux 安装so文件,Linux下查找和安装依赖的.so文件
- 【文献研究】国际班轮航运的合作博弈:The coopetition game in international liner shipping
- 3D建模之ZBrush雕刻教程,神奇上尉角色建模教程,看完你“学废”了吗?
- 基于关系图卷积网络的源代码漏洞检测
- 【已解决】系统找不到文件 C:\ProgramData\Oracle\Java\javapath\java.exe。
- 2014年红帽高峰论坛随笔
- php网页地图上自定义,如何添加在线自定义地图
- 编写函数求阶乘(完整版)