知识点
树,递归
解题思路
判断树的两个条件,结构和值。
值:树节点的val相同
结构:比较的两个节点要么都为空,要么都不为空。
当两个节点都不为空则继续判断节点的左右子树。
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) || (p != null && q == null)){ return false; } if(p != null && q != null) { if(p.val != q.val) return false;//值不同 //继续判断左节点和右节点 return isSameTree(p.left,q.left) && isSameTree(p.right,q.right); } //两个节点为空,返回true return true; } }