相同的两数
一、题目描述
给两个树的根节点p和q,编写一个函数来验证这两个数树是否相同。如果这两个数相同,结构上相同且节点的值也相同。
实例:
输入:p = [1,2,3], q = [1,2,3]
输出:true
输入:p = [1,2], q = [1,null,2]
输出:false
输入:p = [1,2,1], q = [1,1,2]
输出:false
二、题目分析
需要判断必须判断结构和值都是相同,可以通过搜索二叉树中每个节点是否相同。
三、解题思路
方法一:深度搜索
采用递归的方式依次查找对应节点是否相等。并返回值即可、再判断是否相等前,首先编写递归的终止条件。根节点都为null时,有一个根节点为null时,根节点值为null时。然后再递归查找值。
代码实现
class Solution {
public boolean isSameTree(TreeNode p, TreeNode q) {
if(p == null && q == null){
return true;
}else if( p == null || q == null){
return false;
}else if(p.val != q.val){
return false;
}else{
return isSameTree(q.left,p.left) && isSameTree(q.right,p.right);
}
}
}
标签:return,相同,isSameTree,false,null,节点
From: https://www.cnblogs.com/zjjtt/p/16712944.html