美文网首页
第八天leetcode刷题

第八天leetcode刷题

作者: 骨宇 | 来源:发表于2021-07-16 12:05 被阅读0次

今天日常一道二叉树相关题目:100. 相同的树
两个二叉树相同,当且仅当两个二叉树的结构完全相同,且所有对应节点的值相同。所以用搜索的方式判断二叉树是否相同。

class Solution {
public:
    bool isSameTree(TreeNode* p, TreeNode* q) {
        if(p == nullptr && q == nullptr) return true;//如果两个二叉树都为空,则两个二叉树相同。
        else if(p == nullptr || q == nullptr) return false;//如果两个二叉树中有且只有一个为空,则两个二叉树一定不相同。
        else if(p-> val != q-> val) return false;//如果两个二叉树都不为空,那么首先判断它们的根节点的值是否相同,若不相同则两个二叉树一定不同.
        else return isSameTree(p-> left, q-> left) && isSameTree(p-> right, q-> right);//若相同,再分别判断两个二叉树的左子树是否相同以及右子树是否相同。
    }
};

这是一个递归的过程,因此可以使用深度优先搜索,递归地判断两个二叉树是否相同。

相关文章

网友评论

      本文标题:第八天leetcode刷题

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