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

天涯浪子 提交于 2019-12-03 06:15:57

//方案一:

public class Solution {

public void Mirror(TreeNode root) {
    if(root==null)
        return;
    TreeNode temp=root.left;
    root.left=root.right;
    root.right=temp;
    Mirror(root.left);
    Mirror(root.right);

}

}

//方案二:

import java.util.*;

public class Solution {

public void Mirror(TreeNode root) {
    if(root==null)
        return;

     Stack <TreeNode> stack = new Stack<TreeNode>();
    stack.push(root);

    while(!stack.isEmpty()){
         TreeNode cur=stack.pop();

		if(cur.left!=null||cur.right!=null){
             TreeNode temp=cur.left;
             cur.left=cur.right;
             cur.right=temp;
         }

         if(cur.left!=null)
             stack.push(cur.left);
         if(cur.right!=null)
             stack.push(cur.right);
    }

}

}

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!