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);
            }
    
  • 相关阅读:
    JQuery UI
    JQuery 插件
    JQuery Ajax
    varchar和Nvarchar区别
    git冲突解决
    jquery ajax 提交信息后等待返回的提示信息
    Oracle错误 ORA-12560如何解决
    putty ssh连接老断
    myeclipse操作记录
    HTML与HTML5笔记
  • 原文地址:https://www.cnblogs.com/qxlxi/p/12860647.html
Copyright © 2011-2022 走看看