LeeCode-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 a binary tree node.
 3  * struct TreeNode {
 4  *     int val;
 5  *     struct TreeNode *left;
 6  *     struct TreeNode *right;
 7  * };
 8  */
 9 bool isSameTree(struct TreeNode* p, struct TreeNode* q) 
10 {
11     if(p==NULL&&q==NULL)
12         return true;
13     
14     while(true)
15     {
16         if((p==NULL&&q!=NULL)||(p!=NULL&&q==NULL))
17             return false;
18             
19         if(p->val!=q->val)
20         {
21             return false;
22         }
23         
24     
25         return isSameTree(p->left, q->left)&&isSameTree(p->right, q->right);
26         
27     }
28     return true;
29 }

 

posted @ 2015-07-19 21:09  vpoet  阅读(150)  评论(0编辑  收藏  举报