leetcode第二题100:same tree

比较两个二叉树是否一样,这道题的思路很容易想到,就是左右两边同事深入,只要发现有不一样的分支,直接返回false,

struct TreeNode {
  int val;
  TreeNode *left;
  TreeNode *right;
  TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
bool isSameTree(TreeNode* p, TreeNode* q) {
     if(p==NULL&&q==NULL) return true;
     if(p==NULL||q==NULL) return false;
     if(p->val!=q->val) return false;
     return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
    }

递归的强大,没事的时候好好理解一下,简单而又不简单。

猜你喜欢

转载自blog.csdn.net/qq_31638535/article/details/83305610