zoukankan      html  css  js  c++  java
  • leetcode 226 翻转一棵二叉树

    package com.example.lettcode.dailyexercises;
    
    /**
     * @Class InvertTree
     * @Description 226
     * 翻转一棵二叉树。
     * <p>
     * 示例:
     * 输入:
     * ****   4
     * **  /   
     * ** 2     7
     * * /    / 
     * *1   3 6   9
     * <p>
     * 输出:
     * *       4
     * *    /   
     * *   7     2
     * * /    / 
     * 9   6 3   1
     * @Author
     * @Date 2020/9/16
     **/
    public class InvertTree {
        static class TreeNode {
            int val;
            TreeNode left;
            TreeNode right;
    
            TreeNode(int x) {
                val = x;
            }
        }
    
        public static TreeNode invertTree(TreeNode root) {
            if (root == null) return root;
            dfs(root);
            return root;
        }
    
        public static TreeNode dfs(TreeNode root) {
            if (root == null) return root;
            TreeNode rightTreeNode = dfs(root.right);
            TreeNode leftTreeNode = dfs(root.left);
            root.left = rightTreeNode;
            root.right = leftTreeNode;
            return root;
        }
    
    
        public static void main(String[] args) {
            TreeNode root = new TreeNode(4);
            TreeNode treeNode1 = new TreeNode(2);
            TreeNode treeNode2 = new TreeNode(7);
            root.left = treeNode1;
            root.right = treeNode2;
            TreeNode treeNode3 = new TreeNode(1);
            TreeNode treeNode4 = new TreeNode(3);
            treeNode1.left = treeNode3;
            treeNode1.right = treeNode4;
            TreeNode treeNode5 = new TreeNode(6);
            TreeNode treeNode6 = new TreeNode(9);
            treeNode2.left = treeNode5;
            treeNode2.right = treeNode6;
            TreeNode treeNode = invertTree(root);
            System.out.println(treeNode);
        }
    }
    
  • 相关阅读:
    【c++】龟兔赛跑问题
    【2016.3.21】关于字符串的一点总结
    程序员面试宝典(第五版)里的错误
    团队作业_总结_RTCSD2017
    团队作业_一周二周_RTCSD2017
    第三次作业_RTCSD2017
    第二次作业_RTCSD
    分析Demo1闪灯例程里的main.c
    第一次作业_RTCSD2017
    约束与自由
  • 原文地址:https://www.cnblogs.com/fyusac/p/13679116.html
Copyright © 2011-2022 走看看