AcWing 419. FBI树
原题链接
简单
作者:
xhQYm
,
2020-01-10 10:35:03
,
所有人可见
,
阅读 994
C++ 代码
#include <iostream>
#include <cmath>
using namespace std;
string s;
void FBI(int left,int right)
{
int mid=(left+right)/2;
if(left<right)
{
FBI(left,mid);
FBI(mid+1,right);
}
int zero=0,one=0;
for(int i=left;i<=right;i++)
{
if(s[i]=='0')
zero++;
else
one++;
}
if(zero==0 and one>=1)
cout<<"I";
if(zero>=1 and one==0)
cout<<"B";
if(zero>=1 and one>=1)
cout<<"F";
}
int main()
{
int n,z;
cin>>n;
z=pow(2,n)-1;
cin>>s;
FBI(0,z);
return 0;
}
后序排列!
大佬,请配上图。直接上代码是耍流氓。哈哈,我觉得只要能用图来表示算法的过程就是真的理解了。一开始,我是认真记代码的,后来发现做不到。是图形就好记多了。一直以来,买了很多书,书上惜图如金。蛋疼。。。
哦,是这样的,谢谢提醒^_^
我这个代码主要是保存我的解法。。
二叉树