zoukankan      html  css  js  c++  java
  • LeetCode (65):Same tree

    Total Accepted: 83663 Total Submissions: 200541 Difficulty: Easy

     Given two binary trees, write a function to check if they are equal or not.

    Two binary trees are considered equal if they are structurally identical and the nodes have the same value.

    首先想到的是递归法,判断过程为依次遍历每一个点如果有:

    1. 如果都为null或是都不为null且值相等返回true
    2. 一个为Null另一个不为Null返回false
    3. 两个都不为null但值不相等返回false

    代码如下:

    class TreeNode{
           int val;
                TreeNode left;
               TreeNode right;
                TreeNode(int x) { val = x; }
    }
    public class Solution {
         public static boolean isSameTree(TreeNode p, TreeNode q) {
             if(p==null&&q==null)     return true;  //同时到达叶子节点
             else  if(p==null||q==null) return false;   //不同时到达叶子则不相同
             if(p.val!=q.val) return false;  //节点值不同则不相同
             else return isSameTree(p.left, q.left)&&isSameTree(p.right, q.right); //递归
                                                                        
         }
               //测试
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            TreeNode t1=new TreeNode(1);
            TreeNode nodeB=new TreeNode(2);
            t1.left=nodeB;
            
            TreeNode t2=new TreeNode(1);
            TreeNode nodeB1=new TreeNode(2);
            t2.left=nodeB1;        
            System.out.println(isSameTree(t1,t2));
        }
    
    }
  • 相关阅读:
    ASP.NET MVC 中的视图生成
    atm
    Oracle 客户端 NLS_LANG 的设置(转)
    log4jdbc
    java基本类型作为成员变量时的初始值
    使用activeMQ实现jms
    JAVA反射机制
    [notes] ImageNet Classification with Deep Convolutional Neual Network
    cocos2d-x3.0 ListView
    Mean Shift具体介绍
  • 原文地址:https://www.cnblogs.com/rever/p/4853823.html
Copyright © 2011-2022 走看看