题解 | #二叉树#

二叉树

https://www.nowcoder.com/practice/f74c7506538b44399f2849eba2f050b5

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int num(int m, int n) {
    if (m > n||n==0) {
        return 0;
    } else {
        int left = num(2 * m, n);
        int right = num(2 * m + 1, n);
        return 1 + left + right;
    }
}
int main() {
    int n;// 二叉树的最后一个节点
    int m;// 以m为根节点的子树
    while(scanf("%d %d", &m,&n)!=EOF)
    {
    int count = num(m, n);  // 计算有多少个结点
    printf("%d\n",count);
    }
    return 0;
}

全部评论

相关推荐

美丽的查理斯不讲武德:包kpi的啊,感觉虾皮一点hc都没有
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务