zoukankan      html  css  js  c++  java
  • [leetCode]剑指 Offer 27. 二叉树的镜像

    在这里插入图片描述

    递归

    在这里插入图片描述
    通过观察可以发现,只需交换非叶子节点的左右子节点即可完成镜像。
    通过前序遍历,从上至下进行递归,如果非叶子节点则交换其子节点,如果为叶子节点,则返回其本身(只有一个节点的情况)。

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    class Solution {
        public TreeNode mirrorTree(TreeNode root) {
            if(root ==  null) return null;
            if(root.left == null && root.right == null) return root;
            TreeNode temp = root.left;
            root.left = root.right;
            root.right = temp;
            if(root.left != null)
                mirrorTree(root.left);
            if(root.right != null)
                mirrorTree(root.right);
            return root;
        }
    }
    

    辅助栈

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    class Solution {
        public TreeNode mirrorTree(TreeNode root) {
            if(root == null) return null;
            LinkedList<TreeNode> stack = new LinkedList<>();
            stack.push(root);
            while(!stack.isEmpty()){
                TreeNode node = stack.pop();
                if(node.left != null ) stack.push(node.left);
                if(node.right != null) stack.push(node.right); 
                if(node.left == null && node.right == null) continue;//跳过叶子节点
                TreeNode temp = node.left;
                node.left = node.right;
                node.right = temp;
            }
            return root;
        }
    }
    
  • 相关阅读:
    删除使用RMAN命令备份的文件
    查看.Net Framework版本的方法(zz)
    c# Foreach last (zz)
    Visual Studio 2008 QFE (zz)
    打印机的接口
    牛人的PENTAX单反之路
    我新进的宾得K10D机器和镜头
    买车险要有足额第三者责任险
    谈谈P家的SUPERTAKUAMR
    硬盘接口总结
  • 原文地址:https://www.cnblogs.com/PythonFCG/p/13859963.html
Copyright © 2011-2022 走看看