[LeetCode]Same Tree

Given two binary trees, write a function to check if they are equal or not.

Two binary trees are considered equal if they are structurally identical and the nodes have the same value.

思考:DFS.

/**

 * Definition for binary tree

 * struct TreeNode {

 *     int val;

 *     TreeNode *left;

 *     TreeNode *right;

 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}

 * };

 */

class Solution {

public:

    bool DFS(TreeNode *p,TreeNode *q)

    {

        if((p&&!q)||(!p&&q)) return false;

        if(p&&q)

        {

            if(p->val!=q->val)

            {

                return false;

            }

            return DFS(p->left,q->left)&&DFS(p->right,q->right);

        }

    }

    bool isSameTree(TreeNode *p, TreeNode *q) {

        return DFS(p,q);

    }

};

  

你可能感兴趣的:(LeetCode)