这个只要顺序比较左右子树就可以了
1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode *right; 7 * TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8 * }; 9 */ 10 class Solution { 11 public: 12 bool isSameTree(TreeNode* p, TreeNode* q) { 13 if(p==NULL&&q==NULL)return true; 14 if(p==NULL&&q!=NULL||p!=NULL&&q==NULL)return false; 15 if(p->val!=q->val) 16 return false; 17 if(isSameTree(p->left,q->left)==false) 18 return false; 19 if(isSameTree(p->right,q->right)==false) 20 return false; 21 return true; 22 } 23 };