Given two binary trees, write a function to check if they are equal or not.
Two binary trees are considered equal if they are structurally identical and the nodes have the same value.
Subscribe to see which companies asked this question
比较两棵树是否相同。
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
bool isSameTree(TreeNode* p, TreeNode* q) {
bool flag;
if( p == NULL && q == NULL ) return true;
if( p == NULL && q != NULL ) return false;
if( p != NULL && q == NULL ) return false;
if( p->val != q-> val ) return false;
else {
flag = isSameTree( p->left, q->left );
if( !flag ) return false;
flag = isSameTree( p->right, q->right );
}
return flag;
}
};
本文介绍了一种用于检查两棵二叉树是否等价的方法。等价的定义为两棵树不仅结构相同,而且每个对应节点的值也相同。通过递归地比较两棵树的根节点、左子树及右子树来实现这一功能。
110

被折叠的 条评论
为什么被折叠?



