您的位置:首页 > 其它

Depth-first Search -- Leetcode problem100. Same Tree

2017-09-24 09:45 411 查看
描述: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.

分析:判断两棵树是否相等,水题。

思路一:递归遍历。(3ms)

class Solution {
public:
bool isSameTree(TreeNode* p, TreeNode* q) {
if (p == NULL || q == NULL) return (p == q);
if (p -> val == q -> val) {
return isSameTree(p -> left, q -> left) && isSameTree(p -> right, q -> right);
}
return false;
}
};


思路二:one line solution (0ms)

class Solution {
public:
bool isSameTree(TreeNode* p, TreeNode* q) {
return (p == NULL && q == NULL) || ((q == NULL || p == NULL) && q != NULL && p != NULL) || ((p != NULL && q != NULL) && (p -> val == q -> val) && isSameTree(p->left, q->left) && isSameTree(p->right, q->right));
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: