码农小汪-剑指Offer之16-二叉树的镜像
2016-03-30 18:49
393 查看
题目描素
操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:
二叉树的镜像定义:源二叉树8
/ \
6 10
/ \ / \
5 7 9 11
镜像二叉树
8
/ \
10 6
/ \ / \
11 9 7 5
解题思路
根据这个题目来看,我们其实就是个遍历的问题,根据遍历就可以解决这个问题啦,然后换一下位置就好了。简单的遍历,先序遍历的递归实现和非递归的实现都行吗,自己喜欢什么就玩什么。package JianzhiOffer; import java.util.Stack; /** * 先序遍历,Stack实现mirror * 其实就是个简单的交换位置而已 * @author JetWang * */ public class Slution16 { public void Mirror(TreeNode root) { if(root==null){ return; } Stack<TreeNode> stack=new Stack<TreeNode>(); stack.push(root); while(stack.size()>0){ TreeNode node=stack.pop(); if(node.left!=null||node.right!=null){ TreeNode temp=node.left; node.left=node.right; node.right=temp; } if(node.left!=null){ stack.push(node.left); } if(node.right!=null){ stack.push(node.right); } } } /** * 递归实现 * @param root */ public void Mirror2(TreeNode root){ if(root==null){ return; } TreeNode temp=root.left; root.left=root.right; root.right=temp; if(root.left!=null){ Mirror2(root.left); } if(root.right!=null){ Mirror2(root.right); } } }
相关文章推荐
- LeetCode之旅(13)-Valid Anagram
- 面试题67:把二叉树打印成多行
- 码农小汪-剑指Offer之15-树的子结构
- 常见面试题总结
- 常见面试题总结
- 程序员必备:100本免费编程图书以及整理IT网站
- 剑指offer面试题3—二维数组中的查找
- 程序员别迷茫,通往成功的路有很多条
- 程序员学习编程需要攻克的8个障碍
- leetCode之旅(12)-反转二叉树
- 剑指offer面试题之把数组排成最小的数
- 面试题66:对称的二叉树
- IT职业发展路线图
- 面试题65:二叉树的下一个结点
- 【剑指Offer面试题】 九度OJ1389:变态跳楼梯
- 2017阿里内推实习生面试经历(已获得offer)
- 剑指offer-面试题18:树的子结构
- 程序员表白神器。安卓程序员表白软件。程序员追女友利器=android+雪花效果+彩色气泡+心形花园+心形玫瑰花+相爱天数计时器
- 程序员互动联盟(第一届编程大赛第一题)
- 网易2016杭研公共技术部安卓开发实习生面试