zoukankan      html  css  js  c++  java
  • LintCode2016年8月8日算法比赛----等价二叉树

    等价二叉树

    题目描述

    检查两棵二叉树是否等价。等价意思是说,首先两棵二叉树必须拥有相同的结构,并且每个对应位置上的节点上的数据相等。

    样例
          1             1
    	 /            / 
    	2   2   and   2   2
       /             /
      4             4
    

    这就是两棵等价的二叉树。

       	 1             1
    	/            / 
       2   3   and   2   3
      /               
     4                 4
    
    算法分析:
    递归遍历两棵二叉树的所有节点,并且判断节点数据是否相同
    

    Java算法解决:

    /**
     * Definition of TreeNode:
     * public class TreeNode {
     *     public int val;
     *     public TreeNode left, right;
     *     public TreeNode(int val) {
     *         this.val = val;
     *         this.left = this.right = null;
     *     }
     * }
     */
    public class Solution {
        /**
         * @param a, b, the root of binary trees.
         * @return true if they are identical, or false.
         */
        public boolean isIdentical(TreeNode a, TreeNode b) {
            // Write your code here
            if(a==null&&b==null){
    			return true;
    		}
    		else if(a==null||b==null){
    			return false;
    		}
    		else{
    			if(a.val!=b.val){
    				return false;
    			}
    			else{
    				boolean result=isIdentical(a.left, b.left);
    				if(!result){
    					return result;
    				}
    				else{
    					result=isIdentical(a.right, b.right);
    					return result;
    				}
    			}
    		}
        }
    }
  • 相关阅读:
    J2SE基础:7.系统经常使用类一
    Win7 64位 php-5.5.13+Apache 2.4.9+mysql-5.6.19 配置
    FUDCon
    扬帆起航 彼岸花开——2013届毕业晚会《再见民大》倾情再演
    毛磊
    查经
    H.O.T candy
    svn rm --keep-local ./QueryParser_kill.logs
    python datetime笔记
    柯震东_百度百科
  • 原文地址:https://www.cnblogs.com/dongling/p/5795887.html
Copyright © 2011-2022 走看看