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

    题目描述

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



    leetcode 上的题


    传统遍历都是 先左后右,
    做这个题的时候,我们可以定义一种先右后左的遍历,然后对比2次遍历结果是否一致
    需要注意的是空节点也要对比


     1 /*
     2 public class TreeNode {
     3     int val = 0;
     4     TreeNode left = null;
     5     TreeNode right = null;
     6 
     7     public TreeNode(int val) {
     8         this.val = val;
     9 
    10     }
    11 
    12 }
    13 */
    14 public class Solution {
    15     boolean isSymmetrical(TreeNode root){
    16         if(root==null) return true;
    17         return isSymm(root.left,root.right);
    18     }
    19     private boolean isSymm(TreeNode p1,TreeNode p2){
    20         if(p1==null && p2 ==null) return true;
    21         if(p1==null || p2==null) return false;
    22         if(p1.val!=p2.val) return false;
    23         return isSymm(p1.left,p2.right)&&isSymm(p1.right,p2.left);
    24     }
    25 }
  • 相关阅读:
    C语言 assert
    Java6上开发WebService
    unity3d绘制贴图
    unity3d物理引擎
    unity3dVisual Studio Tools for Unity快捷键
    unity3d小案例之角色简单漫游
    unity3d射线(Ray)
    unity3d准备工作
    unity3d编辑器结构
    unity3d碰撞检测
  • 原文地址:https://www.cnblogs.com/zle1992/p/8270496.html
Copyright © 2011-2022 走看看