题解 | #相逆叶子#

相逆叶子

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;
    }

全部评论

相关推荐

醒工硬件:1学校那里把xxxxx学院去了,加了学院看着就不像本校 2简历实习和项目稍微精简一下。字太多,面试官看着累 3第一个实习格式和第二个实习不一样。建议换行 4项目描述太详细了,你快把原理图贴上来了。比如可以这样描述:使用yyyy芯片,使用xx拓扑,使用pwm控制频率与占空比,进行了了mos/电感/变压器选型,实现了xx功能 建议把技术栈和你做的较为有亮点的工作归纳出来 5熟悉正反激这个是真的吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务