Leetcode:Same Tree

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.

分析:递归。先判断根节点的val是否相同,如相同递归的判断左子树和右子树是否分别相同。代码如下:

class Solution {
public:
    bool isSameTree(TreeNode *p, TreeNode *q) {
        if(p == NULL || q == NULL) return p == q;
        if(p->val != q->val) return false;
        return isSameTree(p->left, q->left) && isSameTree(p->right, q->right);
    }
};

 

posted on 2015-01-02 20:07  Ryan-Xing  阅读(112)  评论(0编辑  收藏  举报