求叶子结点个数
递归求叶子结点个数
背
#include <stdio.h> #include <stdlib.h> typedef struct node{ int data; struct node *lchild,*rchild; }TreeNode,*Tree; void CreateTree(Tree &T) //先序创建二叉树,中序后序创建和递归遍历一样,只修改位置 { int x; scanf("%d",&x); if(x==-1) { T=NULL; return; } else { T=(TreeNode*)malloc(sizeof(TreeNode)); T->data=x; printf("输入%d的左结点:",x); CreateTree(T->lchild); printf("输入%d的右结点:",x); CreateTree(T->rchild); } } int Count(Tree T) { static int count=0; if(T==NULL) return 0; if(T->lchild==NULL&&T->rchild==NULL) count++; Count(T->lchild); Count(T->rchild); return count; } int main() { Tree T; CreateTree(T); printf("%d ",Count(T)); return 0; }
分类:
数据结构
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!