100. Same Tree的C++解法

来源:互联网 发布:windows 10怎么调声音 编辑:程序博客网 时间:2024/05/17 08:16

用递归的方法比较,先比较根的值再比较左右子树即可。

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

更简单的写法

bool isSameTree(TreeNode *p, TreeNode *q) {    if (p == NULL || q == NULL) return (p == q);    return (p->val == q->val && isSameTree(p->left, q->left) && isSameTree(p->right, q->right));}

树的节点可以直接和NULL做比较。