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);
    }

遞歸的強大,沒事的時候好好理解一下,簡單而又不簡單。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章