比较两个二叉树是否一样,这道题的思路很容易想到,就是左右两边同事深入,只要发现有不一样的分支,直接返回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); }
递归的强大,没事的时候好好理解一下,简单而又不简单。