泸州北京网站建设,厦门跨境建站平台,wordpress留言快速审核,餐饮如何做网络营销给你两棵二叉树的根节点 p 和 q #xff0c;编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同#xff0c;并且节点具有相同的值#xff0c;则认为它们是相同的。
思路一#xff1a;
bool isSameTree(struct TreeNode* p, struct TreeNode* q){if(p NULL 编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同并且节点具有相同的值则认为它们是相同的。
思路一
bool isSameTree(struct TreeNode* p, struct TreeNode* q){if(p NULL q NULL){return true;}if(pNULL q !NULL){return false;}if(p ! NULL qNULL){return false;}if(p-val q-val){return isSameTree(p-left , q-left) isSameTree(p-right , q-right);}elsereturn false;
}
分析
首先判断两个二叉树是否为空再判断有值的情况利用递归若两个值相等则同时向左右子树继续进行判断
总结
本题考察二叉树判断利用了bfs算法将两个二叉树值全部判断得到答案