题解 | #牛群的相似结构#
牛群的相似结构
https://www.nowcoder.com/practice/ecaeef0d218440d295d9eff63fbc747c
考察递归算法的二叉树应用,对于两个二叉树需要所有的节点结构相同,并且相应节点上的值也一样的时候才可以说是相似的结构。
所以说按照这个思路检查有以下的情况:
- 结构不相似(一个有节点一个没有,或者都有节点但值不相同的时候)
- 结构相似(均没有节点,均有节点且值相等)
具体Java代码如下所示
import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * public TreeNode(int val) { * this.val = val; * } * } */ public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param p TreeNode类 * @param q TreeNode类 * @return bool布尔型 */ public boolean isSameTree (TreeNode p, TreeNode q) { // write code here if(p==null&&q==null) return true; if(p==null||q==null) return false; return p.val==q.val&&isSameTree(p.left,q.left)&&isSameTree(p.right,q.right); } }