1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
class Solution { public: bool checkSubTree(TreeNode* t1, TreeNode* t2) { if(!t1) return !t2; return check(t1, t2) || checkSubTree(t1->left, t2) || checkSubTree(t1->right, t2); } private: bool check(TreeNode* t1, TreeNode* t2) { if(!t1) return !t2; if(!t2) return !t1; if(t1->val != t2->val) return false; return check(t1->left, t2->left) && check(t1->right, t2->right); } };
|