剑指offer:(19)面试官谈面试思路:二叉树的镜像

来源:互联网 发布:多开同步器软件 编辑:程序博客网 时间:2024/05/21 13:56

操作给定的二叉树,将其变换为源二叉树的镜像。

二叉树的镜像定义:源二叉树         8       /  \      6   10     / \  / \    5  7 9 11    镜像二叉树        8       /  \      10   6     / \  / \    11 9 7  5

package co.com.jianzhioffer;public class Solution19 {public class TreeNode {int val;TreeNode left = null;TreeNode right = null;TreeNode(int val) {this.val = val;}}public void  Mirror(TreeNode root){if(root == null ) return;TreeNode p = root.left;root.left = root.right;root.right = p;if(root.left!=null)  Mirror(root.left);if(root.right!=null) Mirror(root.right); }}

import java.util.Stack;/**public class TreeNode {    int val = 0;    TreeNode left = null;    TreeNode right = null;    public TreeNode(int val) {        this.val = val;    }}*/public class Solution {    public void Mirror(TreeNode root) {        if(root == null ) return;Stack<TreeNode> stackNode = new Stack<TreeNode>();stackNode.push(root);while(!stackNode.empty()){TreeNode tree = stackNode.pop();if(tree.left!=null || tree.right != null){TreeNode temp = tree.left;tree.left = tree.right;tree.right = temp;}if(tree.left!=null){stackNode.push(tree.left);}if(tree.right!=null){stackNode.push(tree.right);}    }    }}


0 0
原创粉丝点击