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;
       }
    }
    

    纠错

    执行结果

  • 相关阅读:
    linux 网络不通问题排查
    linux下挂载U盘
    git 详细教程网址
    字符串的全排列和组合算法
    D-BUS详细分析
    linux socket编程之TCP与UDP
    Linux下的 .o、.a、.so文件
    Fiddler HTTPS指南
    nm指令
    无法使用xcode打出ipa包的解决方法
  • 原文地址:https://www.cnblogs.com/mlz031702145/p/13678359.html
Copyright © 2011-2022 走看看