一、递归
public class Solution {
public void Mirror(TreeNode root) {
if(root!=null){
TreeNode temp=root.left;
root.left=root.right;
root.right=temp;
// 交换左右孩子节点
if(root.left!=null) Mirror(root.left);
if(root.right!=null) Mirror(root.right);
}
}
}
二、 迭代
import java.util.Stack;
public class Solution {
public void Mirror(TreeNode root) {
if(root==null) return ;
Stack<TreeNode> stack=new Stack<TreeNode>();
stack.push(root);
while(!stack.isEmpty()){
root=stack.pop();
TreeNode temp=root.left;
root.left=root.right;
root.right=temp;
if(root.left!=null) stack.push(root.left);
if(root.right!=null) stack.push(root.right);
}
}
}