题解 | #二叉树#

二叉树

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

#include <iostream>
using namespace std;
int n,m;
int f(int m){
    if(m>n) return 0;
    if(2*m>n && 2*m+1>n) return 1;
    return f(2*m)+f(2*m+1)+1;
}
int main() {
    //二叉树最后一个结点是n, 现输出以m为根的子树中含有的结点总数.
   while(cin>>m>>n){
       cout<<f(m)<<endl;
   }
   return 0;
}

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务