判断两棵树是否相同~
在下写的是递归版本~~
class Solution {
public:
bool isSameTree(TreeNode* p, TreeNode* q) {
if((p && !q )|| (!p && q)) return false; //只有一个为空,必然是false
//其实上面一句可以改成 if(!p || !q)
if(!p && !q) return true; //终止
if(p->val != q->val) return false;//值相等判断
bool left = isSameTree(p->left,q->left);
bool right = isSameTree(p->right,q->right);
//递归获取左右子树是否相同,并返回二者相与的结果~
return left & right;
}
};
非递归版本是用stack完成,就不贴了