方法一:深度优先遍历

    1. /**
    2. * Definition for a binary tree node.
    3. * struct TreeNode {
    4. * int val;
    5. * TreeNode *left;
    6. * TreeNode *right;
    7. * TreeNode() : val(0), left(nullptr), right(nullptr) {}
    8. * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
    9. * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
    10. * };
    11. */
    12. class Solution {
    13. public:
    14. bool isSameTree(TreeNode* p, TreeNode* q) {
    15. if(p==NULL&&q==NULL){
    16. return ret;
    17. }
    18. else if((p!=NULL&&q==NULL)||(p==NULL&&q!=NULL)){
    19. return false;
    20. }
    21. if(p->val==q->val){
    22. }
    23. else{
    24. ret=false;
    25. }
    26. ret=isSameTree(p->left,q->left);
    27. ret=isSameTree(p->right,q->right);
    28. return ret;
    29. }
    30. bool ret=true;
    31. };