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));
        }
    
    }
  • 相关阅读:
    451. Sort Characters By Frequency
    424. Longest Repeating Character Replacement
    68. Text Justification
    44. Wildcard Matching
    160. Intersection of Two Linked Lists
    24. Swap Nodes in Pairs
    93. 递归实现组合型枚举
    98. 分形之城
    97. 约数之和
    96. 奇怪的汉诺塔
  • 原文地址:https://www.cnblogs.com/rever/p/4853823.html
Copyright © 2011-2022 走看看