码迷,mamicode.com
首页 > 其他好文 > 详细

【leetcode】Same Tree

时间:2015-04-05 01:00:40      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:

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

 

【leetcode】Same Tree

标签:

原文地址:http://www.cnblogs.com/jawiezhu/p/4393318.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!