力扣(LeetCode) ——100. 相同的树(C语言)
题目:相同的树
解题思路:
根据题目描述如果两个二叉树都为空,则两个二叉树相同。如果两个二叉树中只有一个为空,则两个二叉树一定不相同。
如果两个二叉树都不为空,那么首先判断它们的根节点的值是否相同,若不相同则两个二叉树一定不同,若相同,再分别判断两个二叉树的左子树是否相同以及右子树是否相同。递归地判断两个二叉树是否相同。
最终代码:
bool isSameTree(struct TreeNode* p, struct TreeNode* q) {//同时为空if(p == NULL && q == NULL){return true;}//一个为空 if(p == NULL || q == NULL){return false;}//都不为空if(p->val != q->val){return false;}return isSameTree(p->left,q->left) && isSameTree(p->right,q->right);
}
赶紧动起手来吧!!!
点击下方即可跳转
相同的树