[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.

/**

 * 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 isSameTree(TreeNode *p, TreeNode *q) {

        // IMPORTANT: Please reset any member data you declared, as

        // the same Solution instance will be reused for each test case.

        if(p == NULL)

        {

         if(q == NULL)

                return true;

                else 

                return false;

        }

        if(q == NULL)

            return false;

        

        return (p -> val == q -> val) && isSameTree(p -> left, q -> left) && isSameTree(q -> right, p -> right);

    }

};

 

你可能感兴趣的:(LeetCode)