剑指 Offer 27. 二叉树的镜像

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

例如输入:

     4
   /   \
  2     7
 / \   / \
1   3 6   9

镜像输出:

     4
   /   \
  7     2
 / \   / \
9   6 3   1

示例 1:

输入:

root = [4,2,7,1,3,6,9]

输出:

[4,7,2,9,6,3,1]

限制:

0 <= 节点个数 <= 100


Java:

public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param pRoot TreeNode类 
     * @return TreeNode类
     */
    public TreeNode Mirror (TreeNode pRoot) {
        // write code here
        if(pRoot == null) return null;
        Stack<TreeNode> stack = new Stack<>();
        stack.add(pRoot);
        while(!stack.isEmpty()){
            TreeNode node =stack.pop();
            if(node.left !=null) stack.add(node.left);
            if(node.right !=null) stack.add(node.right);
            TreeNode tmp = node.left;
            node.left = node.right;
            node.right = tmp;
        }
        return pRoot;
    }
}

上一篇:JZ18 二叉树镜像


下一篇:二叉搜索树的第 k 个结点