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

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

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

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

镜像和原图对比图为:


第一次递归:


代码为:

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 );
	}






阅读更多
所属专栏: 面试题 数据结构
上一篇银行家算法
下一篇设计一个类,只能生成该类的一个实例
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭