• 牛客网 二叉树的镜像 JAVA


    题目:

    题目描述:

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

    输入描述:

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

    解题:

    思路:层次遍历并且交换左右节点,然后使用栈存储子节点

    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.empty()) {
                TreeNode node = stack.pop();
                if(node.left != null || node.right != null) {
                    TreeNode nodeLeft = node.left;
                    TreeNode nodeRight = node.right;
                    node.left = nodeRight;
                    node.right = nodeLeft;
                }
                if(node.left != null) stack.push(node.left);
                if(node.right != null) stack.push(node.right);
            }
        }
    }
  • 相关阅读:
    DispatcherServlet
    上转型对象
    Javascript闭包(Closure)
    跨域
    dict
    Python 函数参数传递方式
    协同过滤
    白话 动态规划 第一节 初识动态规划
    Spring@Autowired注解与自动装配
    protected
  • 原文地址:https://www.cnblogs.com/yanhowever/p/12088438.html
Copyright © 2020-2023  润新知