题解 | #相逆叶子#

相逆叶子

https://www.nowcoder.com/practice/41c7b0e8710e43ca9f328bf06ea2aff3

最好理解的代码,真的好理解。

知识点:

二叉树/DFS

分析:

用个不笨也笨的方法吧,对每一个二叉树使用DFS存储其叶子节点,存储在一个数组里,然后判断回文。

ac代码C++;

	vector<int> leaf;
    int cnt1 = 0;
    void dfs(TreeNode* root1) {
        if (!root1->left && !root1->right) {
            leaf.push_back(root1->val);
            cnt1++;
            return;
        }
        if(root1->left)
            dfs(root1->left);
        if(root1->right)
            dfs(root1->right);
    }
    bool leafSimilar(TreeNode* root1, TreeNode* root2) {
        dfs(root1);
        dfs(root2);
        int i = 0;int j = cnt1 - 1;
        while(i < j){
            if(leaf[i] == leaf[j]) {
                i++;j--;
            }else return false;
        }
        return true;
    }

全部评论

相关推荐

05-26 09:07
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
这不纯纯作弊了吗😢😢😢
编程界菜鸡:信这个的这辈子有了,这智商你靠啥都没用
你找工作的时候用AI吗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务