982: 输出利用二叉树存储的普通树的度

解法:

由题意,根据二叉树求对应的合法普通树的度,度就是节点儿子数的最大值。

也就是左孩子+兄弟

在二叉树中就是某根节点的右孩子+某根节点的右孩子的右孩子+。。。

AB#CD##E###

关于树概念不理解的可以看看981: 统计利用二叉树存储的森林中树的棵数-CSDN博客

#include<iostream>
#include<queue>
using namespace std;
int mx = 0;
struct treeNode {
    char val;
    treeNode* left;
    treeNode* right;
    treeNode(char x) :val(x), left(nullptr), right(nullptr) {};
};
treeNode* buildTree() {
    char c;
    cin >> c;
    if (c == '#') return nullptr;
    treeNode* root = new treeNode(c);
    root->left = buildTree();
    root->right = buildTree();
    return root;
}
int rdfs(treeNode* root) {
    if (root == NULL) return 0;
    return rdfs(root->right) + 1;
}
void dfs(treeNode* root) {
    if (root == NULL) return;
    dfs(root->left);
    dfs(root->right);
    mx = max(mx, rdfs(root));
    return;
}
int main() {
    treeNode* root = buildTree();
    if (root->right) {
        cout << "ERROR";
    }
    else {
        dfs(root);
        cout << mx;
    }
    return 0;
}

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-24 12:22:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-24 12:22:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-24 12:22:01       82 阅读
  4. Python语言-面向对象

    2024-04-24 12:22:01       91 阅读

热门阅读

  1. 算法开发固定三方库版本

    2024-04-24 12:22:01       33 阅读
  2. web前端代码指南(vue3)

    2024-04-24 12:22:01       30 阅读
  3. ElasticSearch 入门学习

    2024-04-24 12:22:01       33 阅读
  4. 前后端连接完后的各种安全问题

    2024-04-24 12:22:01       37 阅读
  5. C++中的抽象类

    2024-04-24 12:22:01       34 阅读
  6. draw.io使用心得

    2024-04-24 12:22:01       35 阅读
  7. draw.io使用心得

    2024-04-24 12:22:01       35 阅读
  8. Hibernate6根据xml获取ddl sql语句

    2024-04-24 12:22:01       33 阅读
  9. Node.js 环境变量动态获取和静态获取的区别

    2024-04-24 12:22:01       30 阅读