美文网首页
Same Tree - 判断两棵二叉树是否相同

Same Tree - 判断两棵二叉树是否相同

作者: 郑明明 | 来源:发表于2016-10-26 16:39 被阅读109次

这个题相对来说是比较简单的,思路为:利用先序遍历来每个点进行判断

struct TreeNode {
    int value;
    TreeNode *leftTreeNode;
    TreeNode *rightTreeNode;
};

bool isSameTree(TreeNode *firstTreeNode, TreeNode *secondTreeNode) {
    if (firstTreeNode == NULL && secondTreeNode == NULL) { // 两个点都为空
        return true;
    } else if (firstTreeNode == NULL || secondTreeNode == NULL) { // 其中一个点为空
        return false;
    } else { // 两个点都不为空
        if (firstTreeNode->value == secondTreeNode->value) {
            return isSameTree(firstTreeNode->leftTreeNode, secondTreeNode->leftTreeNode) && isSameTree(firstTreeNode->rightTreeNode, secondTreeNode->rightTreeNode);
        } else {
            return false;
        }
    }
}

相关文章

网友评论

      本文标题:Same Tree - 判断两棵二叉树是否相同

      本文链接:https://www.haomeiwen.com/subject/gczduttx.html