check whether two binary trees are identical

Question:

Given two binary trees, check whether they are identical or not.

Analyze:

we first compare the roots of these two trees, if they are the same, we continue to compare the root of their left and right subtrees.

Code:

boolean sameTree(Node a, Node b) { 
  // 1. both empty -> true 
  if (a == null && b == null) return(true);

  // 2. both non-empty -> compare them 
  else if (a!=null && b!=null) { 
    return (a.data == b.data && 
      sameTree(a.leftChild, b.leftChild) && 
      sameTree(a.rightChild, b.rightChild) 
    ); 
  } 
  // 3. one empty, one not -> false 
  else return false; 
} 
refenrence:  http://cslibrary.stanford.edu/110/BinaryTrees.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值