[LintCode]469.等价二叉树

来源:互联网 发布:印度fdi数据 编辑:程序博客网 时间:2024/06/06 02:07

检查两棵二叉树是否等价。等价的意思是说,首先两棵二叉树必须拥有相同的结构,并且每个对应位置上的节点上的数都相等。

样例

    1             1   / \           / \  2   2   and   2   2 /             /4             4

就是两棵等价的二叉树。

    1             1   / \           / \  2   3   and   2   3 /               \4                 4

就不是等价的。

/** * Definition of TreeNode: * class TreeNode { * public: *     int val; *     TreeNode *left, *right; *     TreeNode(int val) { *         this->val = val; *         this->left = this->right = NULL; *     } * } */class Solution {public:    /*     * @param a: the root of binary tree a.     * @param b: the root of binary tree b.     * @return: true if they are identical, or false.     */    bool isIdentical(TreeNode * a, TreeNode * b) {        if(a==NULL&&b==NULL)   return true;          //if((a!=NULL&&b==NULL)||(a==NULL&&b!=NULL))  return false;         if(a!=NULL&&b!=NULL && a->val==b->val ){            return isIdentical(a->left,b->left)&&isIdentical(a->right,b->right);        }        return false;     }};



原创粉丝点击