#include <iostream>
#include <fstream>
#include <cstdio>
#include <string>
#include <cstdlib>
#include <cctype>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <vector>
#include <string>
#include <sstream>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <numeric>
#include <iomanip>
#include <bitset>
#include <list>
#include <stdexcept>
#include <functional>
#include <utility>
#include <ctime>
using namespace std;
vector<int> len;
struct node{
int data;
struct node *left;
struct node *right;
};
int isruledtree(node* root,int length){
if(root!=NULL){
if((root->left==NULL)&&(root->right==NULL)){ //叶节点
len.push_back(length);
}
else{
isruledtree(root->left,length+1);
isruledtree(root->right,length+1);
}
}
return 0;
}
int main(){
// freopen("input.txt","r",stdin);
// freopen("output.txt","w",stdout);
struct node a,b,c,d,e;
a.data=5;
a.left=&b;
a.right=&c;
b.data=3;
b.left=&d;
b.right=&e;
c.data=10;
c.left=NULL;
c.right=NULL;
d.data=2;
d.left=NULL;
d.right=NULL;
e.data=3;
e.left=NULL;
e.right=NULL;
isruledtree(&a,0);
for(vector<int>::iterator it=len.begin();it!=len.end();++it){
printf("%d",*it);
}
}
遍历二叉树时,叶子到根节点的距离怎么计算
两台主机传输一个二叉树,怎么编解码
一个100亿个整形数字的文件,取文件中的中位数,内存不超过512MB。
快速排序的空间复杂度
死锁是针对什么情况
一个递归函数的时间复杂度问题
快速排序、堆排序的空间复杂度