二叉树的镜像

来源:互联网 发布:ddg1000数据 编辑:程序博客网 时间:2024/04/30 19:50
作者:disappearedgod
文章出处:http://blog.csdn.net/disappearedgod/article/details/25883659
时间:2014-5-15


题目

                                《剑指offer-面试题19》P125
请完成一个函数,输入一个二叉树,该函数输出它的镜像。
二叉树定义如下:
struct BinaryTreeNode{  int m_nValue;  BinaryTreeNode* m_pLeft;  BinaryTreeNode* m_pRight;}

想法

比较简单的是:输出的可以是原来的树,所以呢,我们不用对树进行拷贝操作。其实就是将左右子树兑换。

迭代方法

 public void MirrorRecursively(TreeNode root){        if(root == null||(root.left ==null&& root.right == null))            return ;        TreeNode temp = root.right;        root.right = root. left;        root.left = temp;                if(root.left!=null)            MirrorRecursively(root.left);        if(root.right!=null)            MirrorRecursively(root.right);                }

相关链接

LeetCode-Same Tree(java)
Leetcode-Symmetric Tree
二叉树的镜像





0 0
原创粉丝点击