对称二叉树

翻译 2018年04月16日 16:33:06

如果以根为中心,整棵树关于根对称的,则返回true,否则为false

递归版:

      public static bool IsSymmetric(TreeNode root)
        {
            if (root == null) return true;
            return IsSymmetric(root.Left,root.Right);
        }
        public static bool IsSymmetric(TreeNode p,TreeNode q)
        {
            if (p == null && q == null) return true;
            if (p == null || q == null) return false;
            return p.value == q.value && IsSymmetric(p.Left, q.Right) && IsSymmetric(p.Right, q.Left);
        }

迭代版:

public static bool IsSymmetricForCSharp(TreeNode root)
        {
            if (root == null) return true;

            Stack<TreeNode> s = new Stack<TreeNode>();
            s.Push(root.Left);
            s.Push(root.Right);
            while (s.Count > 0)
            {
                TreeNode p = s.Pop();
                TreeNode q = s.Pop();
                if (p == null && q == null) return true;
                if (p == null || q == null) return false;
                if (p.value != q.value) return false;
                s.Push(p.Left);
                s.Push(q.Right);
                s.Push(q.Left);
                s.Push(p.Right);
            }
            return true;


        }

Python算法实战视频课程--二叉树

二叉树是重要的抽象数据类型,解决很多问题时都需要它。通过本课我们学习这种重要的数据结构,本课注重实践,没有过多枯燥的理论,我们的重点放在编码实现各种算法,这对于熟练使用Python语言也是很有益处的。
  • 2016年05月11日 09:14

【leetcode 二叉树对称判断】Symmetric Tree

1、题目 2、分析 3、daim
  • u012162613
  • u012162613
  • 2014-11-17 18:03:14
  • 2808

对称的二叉树(剑指offer+镜面对称+递归)

对称的二叉树 参与人数:904时间限制:1秒空间限制:32768K通过比例:28.19%最佳记录:0 ms|8552K 题目描述 请实现一个函数,用来判断一颗二叉树是不是...
  • u010579068
  • u010579068
  • 2015-11-05 14:43:52
  • 2018

java、python语言判断一棵二叉树是否对称

假设一棵二叉树有N层 第二层:左节点=右节点 第三层:左左=右右,左右=右左 第四层:左1左=右1右,左1右=右1左,左2左=右2右,左2右=右2左(1为外,2为内) 。 。 ...
  • WMTXJ
  • WMTXJ
  • 2016-12-07 21:10:13
  • 345

剑指offer-----判断二叉树是否对称(java版)

一 题目 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 二 思路 个人本题十分简单,就是判断每个节点是否相等,每个节...
  • sniperken
  • sniperken
  • 2016-12-26 21:22:19
  • 653

C++ 判断一棵二叉树是否对称

一棵二叉树对称,就是说它如果以根为轴,翻转过去一样,如下图所示,以虚线为轴,把左边翻转到右边,各顶点及顶点中的值均一一对应。...
  • OrthocenterChocolate
  • OrthocenterChocolate
  • 2014-07-01 12:01:37
  • 2649

剑指offer——对称的二叉树判断

题目描述:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。思路:想一下打印输出某二叉树的镜像,实现的思路是:采用层序遍历的思路对每一个遍历...
  • sbq63683210
  • sbq63683210
  • 2016-07-18 23:25:30
  • 2029

判断一棵二叉树是否为对称的 java

题目要求判断已知的一个二叉树是否是对称的。 算法思想是:首先判断这棵树是否为空树,如果空树则直接返回true 如果不为空,则在进行分类:case1:节点的左右子树为空,则直接返回true cas...
  • samjustin1
  • samjustin1
  • 2016-07-17 17:16:05
  • 655

Java代码 判断一棵二叉树是否为对称的

出去玩了那么多天,终于能够静下心来,好好的敲会代码了 题目要求判断已知的一个二叉树是否是对称的。 算法思想是:首先判断这棵树是否为空树,如果空树则直接返回true 如果不为空,则在进行分类:case1...
  • yangmm2048
  • yangmm2048
  • 2015-05-13 10:15:40
  • 1745

14.剑指offer-判断一颗二叉树是否对称

1.题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的. 二叉树结构:struct TreeNode { int val...
  • u012311410
  • u012311410
  • 2017-05-03 11:25:18
  • 574
收藏助手
不良信息举报
您举报文章:对称二叉树
举报原因:
原因补充:

(最多只允许输入30个字)