LeetCode-100
Links:https://leetcode.com/problems/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 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
/** * Definition for a binary tree node. * 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) { if(p==NULL && q==NULL){ //都为空的情况 return true; } if(p!=NULL && q!=NULL){ //都不为空的情况 if(p->val == q->val && isSameTree(p->left,q->left) && isSameTree(p->right,q->right)) { return true; } } return false; } }; |
相同的可能性:
1.都为空(NULL)
2.当前节点相等,左右子节点相同。
【LeetCode】100. Same Tree