评论

收藏

[JavaScript] C++二叉树叶子结点的个数

开发技术 开发技术 发布于:2021-12-30 16:22 | 阅读数:234 | 评论:0

DSC0000.png
//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;
}
DSC0001.png







关注下面的标签,发现更多相似文章