zoukankan      html  css  js  c++  java
  • 示例记录(二)

    1、判断二叉树是否对称(镜像)二叉树;

    举个栗子:       

     二叉树实体:

     1     /**
     2      * 二叉树
     3      */
     4     public class BinaryTree{
     5     int value;
     6     BinaryTree left=null;
     7     BinaryTree right=null;
     8     public BinaryTree(int value){
     9         this.value=value;
    10     }

    实现代码:

     1 /**
     2      * 判断二叉树的左节点和右节点对比判断
     3      */
     4     boolean isSymmetrical(BinaryTree root1, BinaryTree root2) {
     5         if (root1 == null && root2 == null) {
     6             return true;
     7         }
     8         if (root1 == null || root2 == null) {
     9             return false;
    10         }
    11         if (root1.value != root2.value) {
    12             return false;
    13         }
    14         //判断A的左边和B的右边是否相等,判断A的右边和B的左边是否相等,都相等就满足
    15         return isSymmetrical(root1.left, root2.right) && isSymmetrical(root1.right, root2.left);
    16     }
    17 
    18     /**
    19      * 判断二叉树是否对称二叉树
    20      * @param root
    21      * @return
    22      */
    23     boolean isSymmetrical(BinaryTree root){
    24         if (null==root){
    25             return true;
    26         }
    27         return isSymmetrical(root.left,root.right);
    28     }
  • 相关阅读:
    async 和 await
    C#中lock死锁
    Attribute特性
    数据库优化
    EF(ORM)
    依赖注入
    面向接口编程
    EF乐观锁与悲观锁
    为什么要使用RESTFUL风格?
    cloudsim 3.0.3下载与安装教程
  • 原文地址:https://www.cnblogs.com/a-fei/p/12091933.html
Copyright © 2011-2022 走看看