剑指offer面试题19 二叉树的镜像
来源:互联网 发布:手机本地端口号 编辑:程序博客网 时间:2024/06/05 08:21
解题思路:
(1)递归实现:利用中序遍历的思想,在遍历到每一个节点的同时,如果这个节点不为空或者这个节点不为叶子节点,将其看做根节点,交换其左右子树的指针的位置。直到递归返回到根节点为止,形成二叉树的镜像。
(2)循环实现:可以借鉴层次遍历的思想,在某个节点出队列的时候,先交换这个节点的左右子树,在将交换后的左右子节点入队列,如此循环下去。有兴趣的可以自己实现下。
class TreeNode {int val;TreeNode left = null;TreeNode right = null;public TreeNode(int val) {this.val = val;}}/** * 求二叉树的镜像 */public class Solution {/** * 解题思路:将一颗二叉树每个节点的左子树交换到右子树,右子树交换到左子树 */public static void Mirror(TreeNode root) {if (root == null) {return;}// 叶子节点无需交换,直接返回if (root.left == null && root.right == null) {return;}// 对左子树进行镜像操作Mirror(root.left);// 对右子树进行镜像操作Mirror(root.right);// 将左、右子树合并为一个新树TreeNode temp = root.left;root.left = root.right;root.right = temp;}}
阅读全文
0 0
- [剑指offer][面试题19]二叉树的镜像
- 【剑指offer】面试题19:二叉树的镜像
- 剑指offer 面试题19 二叉树的镜像
- 剑指Offer:面试题19 二叉树的镜像
- 《剑指Offer》面试题19:二叉树的镜像
- 剑指offer-面试题19:二叉树的镜像
- 剑指Offer----面试题19:二叉树的镜像
- 剑指offer面试题19:二叉树的镜像
- 剑指offer面试题19:二叉树的镜像
- 剑指offer面试题19:二叉树的镜像
- 剑指offer--面试题19:二叉树的镜像
- 剑指offer-面试题19-二叉树的镜像
- 【剑指offer】面试题19:二叉树的镜像
- 【面试题】剑指Offer-19-二叉树的镜像
- 剑指offer-面试题19-二叉树的镜像
- 剑指offer-面试题 19:二叉树的镜像
- 剑指offer 面试题19 二叉树的镜像
- 【剑指offer】面试题19:二叉树的镜像
- Matlab实现均匀量化的简单实例
- HDU2665 POJ2104 K-th Number(主席树)
- TCP的三次握手和四次挥手
- 添加用户
- CenterOS7——报错redis requires Ruby version -= 2.2.2
- 剑指offer面试题19 二叉树的镜像
- 15.使用数组模拟栈
- Spring MVC 配置文件dispatcher-servlet.xml 文件详解
- PAT (Basic Level) Practise (中文) 1033. 旧键盘打字(20)
- VMware虚拟机状态已挂起无法恢复解决方案
- Laravel5.0+ 邮件发送功能实现
- iOS开发:MD5加密专栏
- js获取文档高度
- sublime3下配置Less