• 226. 翻转二叉树


    翻转一棵二叉树。

    示例:

    输入:

    4
    /
    2 7
    / /
    1 3 6 9
    输出:

    4
    /
    7 2
    / /
    9 6 3 1

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/invert-binary-tree

     1 public class InvertBinaryTree {
     2     static class TreeNode {
     3         int val;
     4         TreeNode left;
     5         TreeNode right;
     6         TreeNode(int x) {
     7             val = x;
     8         }
     9     }
    10     //方式一:到叶子节点就返回
    11     public TreeNode invertTree1(TreeNode root) {
    12         if(root == null || (root.left == null && root.right == null)) {
    13             return root;
    14         }
    15         TreeNode leftNode = invertTree1(root.left);  //找到左结点
    16         TreeNode rightNode = invertTree1(root.right);  //找到右结点
    17         root.left = rightNode;  //交换节点
    18         root.right = leftNode;
    19         return root;
    20     }
    21     //方式二:直到null才返回
    22     public TreeNode invertTree2(TreeNode root) {
    23         if(root == null) {
    24             return null;
    25         }
    26         TreeNode leftNode = root.left;
    27         root.left = invertTree2(root.right);
    28         root.right = invertTree2(leftNode);
    29         return root;
    30     }
    31 }
    无论有多困难,都坚强的抬头挺胸,人生是一场醒悟,不要昨天,不要明天,只要今天。不一样的你我,不一样的心态,不一样的人生,顺其自然吧
  • 相关阅读:
    软件测试——C#判断密码是否符合要求
    软件测试——C#判断闰年的form小程序
    初识JUnit
    软件测试的方法一共有几种
    多个异步请求调用一个回调函数
    单元测试、集成测试、系统测试总结
    软件测试同行评审流程
    白盒测试总结
    黑盒测试总结
    闰年测试
  • 原文地址:https://www.cnblogs.com/xiyangchen/p/11066366.html
Copyright © 2020-2023  润新知