二叉树的相关面试题 <三>---------二叉树的镜像

原创 2017年01月03日 23:34:57

题目:输入一个二叉树,输出它的镜像。

解题思路:求树的镜像就是遍历树的同时交换非叶子节点的左右节点。

前序遍历,当当前节点的左右子树节点不为空时,交换左右节点。

镜像和原图对比图为:


第一次递归:


代码为:

void _BinaryTreeMirror(Node* root)
	{
		if(root==NULL)
			return;
		if(root->_left ==NULL&&root->_right ==NULL) //叶子节点
			return;
		Node* tmp=root->_left ;
		root->_left =root->_right ;
		root->_right =tmp;
		_BinaryTreeMirror(root->_left );
		_BinaryTreeMirror(root->_right );
	}






相关文章推荐

剑指offer面试题19:二叉树的镜像

题目:请完成一个函数,输入一个二叉树,该函数输出他的镜像树。 算法分析:             求一棵树的镜像过程:我们先前序遍历这棵树的每一个节点,如果遍历到节点有子节点,就交换它的两...

面试题19:二叉树的镜像

剑指offer面试题19:二叉树的镜像题目描述:请完成一个函数,该函数输出二叉树的镜像 function BinaryTree(){ var Node = function(k...

剑指offer 面试题19 二叉树的镜像

剑指offer 面试题19 二叉树的镜像 请完成一个函数,输入一个二叉树,该函数输出它们的镜像。 (反转二叉树 mirrorBinTree, reverseBinTree) package ...

数据结构面试题/求一棵二叉树的镜像

求树的镜像的过程其实是在遍历树的同时交换非叶节点的左右子节点。 二叉树的节点定义如下:struct BinaryTreeNode //创建树中的每个结点 { BinaryTreeNod...

【剑指offer】面试题27:二叉树的镜像

题目操作给定的二叉树,将其变换为源二叉树的镜像。思路求一棵树的镜像的过程:先前序遍历这棵树的每个节点,如果遍历到的节点有子节点,就交换它的两个子节点。当交换完所有的左右子节点之后,就得到了树的镜像。代...

剑指Offer:面试题19 二叉树的镜像

/* 二叉树的镜像: 请完成一个函数,输入一个二叉树,该函数输出它的镜像。 输入: 输入可能包含多个测试样例,输入以EOF结束。 对于每个测试案例,输入的第一行为一个整数n(0 Ci=’d’表示第...

剑指Offer----面试题19:二叉树的镜像

题目: 请完成一个函数,输入一个二叉树,该函数输出它的镜像。 方法一: 分析:镜像无非就是让二叉树每一个结点的左孩子和右孩子交换位置,显然,这要用到递归的知识。 ...

剑指offer-面试题 19:二叉树的镜像

面试题 19:二叉树的镜像 题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。...
  • pomony1
  • pomony1
  • 2017年05月03日 16:06
  • 170

面试题17:二叉树的镜像

例如:下面两棵树互为镜像 思路:先序遍历树的每个结点,若遍历到的结点有子节点,则交换它的两个结点。 代码: #include "stdafx.h" #include using nam...

【剑指Offer】面试题19:二叉树的镜像

整理自剑指Offer 一:题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:二叉树的相关面试题 <三>---------二叉树的镜像
举报原因:
原因补充:

(最多只允许输入30个字)