- 题目:https://www.nowcoder.com/practice/9a9e74b71f944efab9992925f7f9a65e?tpId=46&tqId=29078&tPage=3&rp=3&ru=/ta/leetcode&qru=/ta/leetcode/question-ranking
- 思路:这道题目比较简单,一般都是使用递归来进行解决。这里主要是先判断特殊情况:两棵树是否为空,还有他们的节点值是否相等。其次是左右子树是否相等(符合要求)
- 代码:
/** * Definition for binary tree * 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 && p->val == q->val){ return isSameTree(p->left, q->left)&&isSameTree(p->right, q->right); } return false; } };