zoukankan      html  css  js  c++  java
  • 101. 对称二叉树

    给定一个二叉树,检查它是否是镜像对称的。

    例如,二叉树 [1,2,2,3,4,4,3] 是对称的。

    1
    /
    2 2
    / /
    3 4 4 3
    但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:

    1
    /
    2 2

    3 3
    说明:

    如果你可以运用递归和迭代两种方法解决这个问题,会很加分

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

     1 public class SymmetricTree {
     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 boolean isSymmetric(TreeNode root) {
    12         if(root == null) {
    13             return true;
    14         }
    15         return isSameTree(root.left, root.right);
    16     }
    17     
    18     public  static boolean isSameTree(TreeNode root1, TreeNode root2) {
    19         if(root1 == null && root2 == null) {
    20             return true;
    21         }
    22         if(root1 == null || root2 == null) {
    23             return false;    
    24         }
    25         if(root1.val != root2.val) {
    26             return false;
    27         }
    28         return isSameTree(root1.left, root2.right) && isSameTree(root1.right, root2.left);
    29     }
    30 }
    无论有多困难,都坚强的抬头挺胸,人生是一场醒悟,不要昨天,不要明天,只要今天。不一样的你我,不一样的心态,不一样的人生,顺其自然吧
  • 相关阅读:
    解决方案solution
    Marshal类
    鼠标钩子WH_MOUSE_LL和WH_MOUSE的区别
    DllImport
    打包.py文件成.exe
    C++定义全部变量注意项
    类.cpp文件不识别类.h所定义的结构体问题
    C++判断文件是否存在
    博客专栏
    软件测试基础知识
  • 原文地址:https://www.cnblogs.com/xiyangchen/p/11100401.html
Copyright © 2011-2022 走看看