首页 > 代码库 > LeetCode: Same Tree

LeetCode: Same Tree

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.

地址:https://oj.leetcode.com/problems/same-tree/

算法:递归解决,很简单。代码:

 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         if(!p && !q)    return true;14         if(!p && q || p && !q)  return false;15         if(p && q && p->val != q->val)  return false;16         bool left = isSameTree(p->left, q->left);17         bool right = isSameTree(p->right,q->right);18         return left && right;19     }20 };
 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         if(!p && !q)    return true;14         if(!p && q || p && !q)  return false;15         if(p && q && p->val != q->val)  return false;16         bool left = isSameTree(p->left, q->left);17         bool right = isSameTree(p->right,q->right);18         return left && right;19     }20 };

 

LeetCode: Same Tree