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

    题目

      请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。

    分析

      因为二叉树是对称的,所以将该树自己与自己的递归比较,分为三种情况:

      (1)当两棵树都为空时,返回true;

      (2)当只有一颗树为空时,返回false;

      (3)当两棵树都不为空时,进行递归判断,判断条件为:pRoot1的左孩子==pRoot2的右孩子 以及 pRoot1的右孩子==pRoot2的左孩子

    代码

     1     boolean isSymmetrical(TreeNode pRoot){
     2         return isS(pRoot, pRoot);
     3     }
     4     
     5     boolean isS(TreeNode pRoot1, TreeNode pRoot2){
     6         if(pRoot1==null && pRoot2==null)
     7             return true;
     8         if(pRoot2==null || pRoot1==null){
     9             return false;
    10         }
    11         if(pRoot1.val!=pRoot2.val)
    12             return false;
    13         return isS(pRoot1.left, pRoot2.right) && isS(pRoot1.right, pRoot2.left);
    14     }
  • 相关阅读:
    为Delphi配置多套环境
    0425-字符输入流FileReader
    使用 IntraWeb (9)
    使用 IntraWeb (7)
    使用 IntraWeb (6)
    使用 IntraWeb (5)
    使用 IntraWeb (4)
    使用 IntraWeb (3)
    使用 IntraWeb (2)
    使用 IntraWeb (1)
  • 原文地址:https://www.cnblogs.com/jiqianqian/p/7017829.html
Copyright © 2011-2022 走看看