首页 > 代码库 > Same Tree

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.

 1 /** 2  * Definition for binary tree 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     {14         if(p == NULL && q == NULL)15             return true;16             17         while(p != NULL && q != NULL)18         {19             if(p->val == q->val)20             {21                 bool leftTree = isSameTree(p->left, q->left);22                 bool rightTree = isSameTree(p->right, q->right);23                 return leftTree && rightTree;24             }25             26             else27                 return false;28         }29         30         return false;31     }32 };

 

Same Tree