标签:
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.
用递归,注意 判断 当 各位NULL的时候的情况。
C++:
1 class Solution { 2 public: 3 bool isSameTree(TreeNode *p, TreeNode *q) { 4 if(p==NULL&&q==NULL) 5 return 1; 6 else if(!(q!=NULL&&p!=NULL&&q->val==p->val)) 7 return 0; 8 return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right); 9 } 10 };
Python:
class Solution: # @param p, a tree node # @param q, a tree node # @return a boolean def isSameTree(self, p, q): if p is None and q is None: return True elif p is None or q is None: return False else: if p.val==q.val: if self.isSameTree(q.left,p.left): return self.isSameTree(q.right,p.right) return False
标签:
原文地址:http://www.cnblogs.com/jawiezhu/p/4393318.html