美文网首页
面试题19:二叉树的镜像(剑指offer)

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

作者: 辉辉_teresa | 来源:发表于2021-03-05 20:52 被阅读0次

    题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。

    public TreeNode MirrorTree1(TreeNode root)
    {
        if (root == null || (root.left == null && root.right == null)) return root;
        var temp = root.left;
        root.left = root.right;
        root.right = temp;
        MirrorTree1(root.left);
        MirrorTree1(root.right);
        return root;
    }
    
    public class TreeNode
    {
        public int val;
        public TreeNode left;
        public TreeNode right;
        public TreeNode(int x)
        {
            val = x;
        }
    }
    

    我们先前序遍历这棵树的每个结点,如果遍历到的结点有子结点,就交换它的两个子结点。当交换完所有非叶子结点的左右子结点之后,就得到了树的镜像。(递归,每次都是左右交换就好了)

    相关文章

      网友评论

          本文标题:面试题19:二叉树的镜像(剑指offer)

          本文链接:https://www.haomeiwen.com/subject/cgedqltx.html