zoukankan      html  css  js  c++  java
  • LeetCode题解No226——“翻转二叉树”

    LeetCode题解

    No226

    难度:Easy

    题目描述:

    /*
    翻转一棵二叉树。
    
    示例:
    
    输入:
    
         4
       /   
      2     7
     /    / 
    1   3 6   9
    输出:
    
         4
       /   
      7     2
     /    / 
    9   6 3   1
    
    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/invert-binary-tree
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
     */
    

    题目思路

       本题思路就是最经典的深搜的思路了,向下递归,递归到最底端,交换左右两节点,再一层一层向上修改即可。

    代码执行

    public class No226 {
       public static void main(String[] args) {
    
       }
       public class TreeNode{
           int val;
           TreeNode left;
           TreeNode right;
           TreeNode(int x){
               val = x;
           }
       }
       // 直接dfs即可
       public TreeNode invertTree(TreeNode root) {
           // 退出深搜条件
           if (root == null){
               return null;
           }
           // 递归左右子树
           TreeNode left = invertTree(root.left);
           TreeNode right = invertTree(root.right);
           // 进行交换
           root.left = right;
           root.right = left;
           //返回
           return root;
       }
    }
    

    纠错

    执行结果

  • 相关阅读:
    spring学习(一)IOC&AOP
    MongoDB 写入数据的安全性
    MongoDB MapReduce
    MongoDB 原子操作
    MongoDB 文档间的关系
    MongoDB Java
    MongoDB 持久化
    MongoDB 聚合函数 aggregate
    MongoDB 索引
    MongoDB 文档操作
  • 原文地址:https://www.cnblogs.com/mlz031702145/p/13678359.html
Copyright © 2011-2022 走看看