zoukankan      html  css  js  c++  java
  • 【剑指offer】28.对称的二叉树

    28.对称的二叉树

    面试题28. 对称的二叉树

    难度简单25

    请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。

    例如,二叉树 [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

    示例 1:

    输入:root = [1,2,2,3,4,4,3]
    输出:true
    

    1.递归

    时间复杂度:O(n)

    空间复杂度:O(n) 最差情况下 二叉树退化成链表,系统使用O(n)大小的栈空间

       // 递归
            //1.如果root == null 返回 true
            //2.否则调用左右节点递归遍历
            //  a.root.left == null && root.right == null 返回true
            //  b.root.left == null || root.right == null || root.left.val != root.right.val  返回false
            //  c.递归下一层 
            public boolean isSymmetric(TreeNode root) {
               return  (root == null ) ? true : recur(root.left,root.right);
            }
        
            public boolean recur(TreeNode left,TreeNode right){
                if(left == null && right == null)  return true;
                if(left == null || right == null || left.val != right.val) return false;
                return recur(left.left,right.right) && recur(left.right,right.left);
            }
    
  • 相关阅读:
    fedora/centos7防火墙FirewallD详解
    python for dl
    神经网络画图工具
    卷积神经网络的复杂度分析
    如何理解深度学习中的Transposed Convolution?
    吴恩达课程及视频笔记汇总
    从LeNet-5到DenseNet
    WPS for Linux
    caffe:fine-tuning
    python下图像读取方式以及效率对比
  • 原文地址:https://www.cnblogs.com/qxlxi/p/12860647.html
Copyright © 2011-2022 走看看