首页 > 编程语言 >KY85 二叉树C++

KY85 二叉树C++

时间:2024-01-22 20:22:20浏览次数:24  
标签:count KY85 return int C++ 二叉树

递归判断当前节点和n的关系就好了。如果小于等于n那就是存在。

#include<iostream>
using namespace std;
int count(int i,int n){
    if(i>n) return 0;
    return count(2*i,n)+ count(2*i+1,n)+1;
}

int main(){
    int n,m;
    while(cin >> m >> n){
        if(n==0) break;
        cout << count(m,n) <<'\n';
    }

    return 0;
}

count函数就是计算树的节点个数。

结果:

标签:count,KY85,return,int,C++,二叉树
From: https://www.cnblogs.com/llllmz/p/17981001

相关文章

  • 【C++入门到精通】C++入门 —— 类和对象(拷贝构造函数、赋值运算符重载、const成员函
    编辑一、前言二、拷贝构造函数⭕拷贝构造函数概念⭕拷贝构造函数的特点⭕拷贝构造函数的几种类型三、赋值运算符重载⭕运算符重载概念⭕赋值运算符重载⭕前置++和后置++重载四、const成员函数⭕const成员函数概念⭕常量成员函数需要满足的特点⭕常量成员函数有利条件⭕const常量的......
  • 【C++进阶】function和bind及可变模板参数
     文章目录1.function和bind1.1function使用方法1.2bind2.可变模板参数2.1可变模板参数函数2.2可变模板参数的展开 1.function和bindC++中的function和bind是为了更方便地进行函数对象的封装和调用而设计的。function是一个通用的函数对象容器......
  • 【C++入门到精通】C++入门 —— 类和对象(初始化列表、Static成员、友元、内部类、匿名
     目录一、初始化列表⭕初始化列表概念⭕初始化列表的优点⭕使用场景⭕explicit关键字二、Static成员⭕Static成员概念......
  • 4147:汉诺塔问题(Tower of Hanoi)C++
    递归C和C++一样,就写个C++了。#include<iostream>usingnamespacestd;voidmove(intn,chara,charb,charc){if(n<=0)return;move(n-1,a,c,b);cout<<n<<":"<<a<<"->"<<c<<'\n�......
  • C++中lambda与priority_queue一起使用
    想写这篇博客的原因是在刷力扣的347.前K个高频元素一题时,需要使用到优先队列priority_queue,其定义如下:template<classT,classContainer=std::vector<T>,classCompare=std::less<typenameContainer::value_type>>classpriority_queue;第三个参数......
  • C++内联函数
    什么是内联函数以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率。为什么存在内联函数我们知道,普通的函数需要建立栈帧空间因此,可以利用宏来定义一些小的函数(行数较少的)这样,函数调用的时候......
  • 遍历二叉树非递归实现
    实现1.前序遍历publicvoidpreOrderNor(TreeNoderoot){if(root==null){return;}Stack<TreeNode>stack=newStack<>();stack.push(root);while(!stack.isEmpty()){TreeNodecur......
  • C++U6-03-最短路算法4-floyd算法
    B站复习视频:1、https://www.bilibili.com/video/BV1Fj411d71S/?spm_id_from=333.999.0.02、https://www.bilibili.com/video/BV1RK4y1d7ct?p=1&vd_source=5c960e1ede940bc5cab8ed42c8bdc937学习目标 floyd算法Floyd算法是一种用于找到图中所有节点对之间最短路径的动态规划......
  • 一篇简短的文章把C++左右值关系讲的透透彻彻
     目录前言C++左值和右值二、右值引用二、右值引用 前言对于C++的左值和右值相信很多人都没有一个很透彻的了解,之前我也是不懂的时候查阅了好多文章,但是讲完我还是一头雾水,直到我遇到一篇宝藏文章,讲的左值右值的关系以及Move函数的用法是相当的清楚,文章链接......
  • C++类和对象-对象特性(1)
    一.对象的初始化和清理面对对象来源于生活,每一个对象都有初始设置以及对象销毁钱的清理数据的设置二.构造函数和析构函数C++利用上述俩个函数完成对象初始化和清理,这两个函数会被编译器自动调用,完成对象初始化和清理工作,如果我们不提供构造函数和析构函数,编译器会提供(编译器......