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.
Solution 1:递归,关键在于找全return true、false的所有条件
1 /** 2 * Definition for a binary tree node. 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) 14 return true; 15 else if(!p&&q) 16 return false; 17 else if(p&&!q) 18 return false; 19 else{ 20 if(p->val!=q->val) 21 return false; 22 else 23 return isSameTree(p->left,q->left) && isSameTree(p->right,q->right); 24 } 25 } 26 };
Solution 2: 非递归,待续
时间: 2024-12-19 16:58:05