题解 | #相逆叶子#

相逆叶子

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

全部评论

相关推荐

03-12 09:57
软件测试
程序员小白条:1)确定测试,测开的方向,技术栈不能写这么少 2)课程凑数的,不是99,100分没必要写 3)实习经历这块要有突出的不是劳动性质的亮点,自己设计的什么方案,什么自动化?什么提效工具?不是一些边角料,人云亦云的东西,没吸引力 4) 校园经历纯没用 5)尽量少写减分项
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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