【6_100】Same Tree

Same Tree

Total Accepted: 97481 Total Submissions: 230752 Difficulty: Easy

 

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.

 

Subscribe to see which companies asked this question

 

这次卡在了递归的return使用上,原来可以一次return两个啊

 

错误写法:

else if(p != NULL && q != NULL && p->val == q->val) {
  isSameTree(p->left, q->left) ;

  isSameTree(p->right, q->right);
}

正确写法:

else if(p != NULL && q != NULL && p->val == q->val) {
  return (isSameTree(p->left, q->left) && isSameTree(p->right, q->right));
}

 

这次是C语言

 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     if(p == NULL && q == NULL)
11         return true;
12     else if(p != NULL && q != NULL && p->val == q->val) {
13             return (isSameTree(p->left, q->left) && isSameTree(p->right, q->right));
14     }
15     else
16         return false;
17 }

 

posted on 2015-12-12 21:23  Oliver-cs  阅读(203)  评论(0编辑  收藏  举报

导航