Skip to content

Latest commit

 

History

History
49 lines (46 loc) · 1.13 KB

C++二叉树叶子结点的个数.md

File metadata and controls

49 lines (46 loc) · 1.13 KB

在这里插入图片描述

//Author:PanDaoxi
#include <iostream>
using namespace std;
struct node{
	int left,right;
	char value;
}data[101];
int root=0,cnt=0;
char ch;
int buildTree(int bt){
	cin>>ch;
	if(ch=='#'){
		bt=0;
		return bt;
	}
	else{
		bt=++cnt;
		data[bt].value=ch;
		data[bt].left=data[bt].right=0;
		data[bt].left=buildTree(bt);
		data[bt].right=buildTree(bt);
	}
	return bt;
}
int func(int bt){
	if(bt){
		if(data[bt].left==0&&data[bt].right==0){
			return 1;
		}
		else {
			return func(data[bt].left)+func(data[bt].right);
		}
	}
	else return 0;
}
int main(){
	root=0;
	cnt=0;
	root=buildTree(0);
	cout<<func(root)<<endl;
	return 0;
} 

在这里插入图片描述