当前位置: 首页 > article >正文

求二叉树的高度(可运行)

输入二叉树为:ABD##E##C##。

运行环境:main.cpp

运行结果:3

#include "bits/stdc++.h"
using namespace std;
typedef struct BiTNode{
    char data;
    struct BiTNode *lchild,*rchild;
    int tag;
}BiTNode,*BiTree;

void createTree(BiTree  &t){
    char ch;
    ch=getchar();
    if (ch=='#') t=NULL;
    else{
        t=(BiTNode *) malloc(sizeof (BiTNode));
        t->data=ch;
        t->tag=0;
        t->lchild=NULL;
        t->rchild=NULL;
        createTree(t->lchild);
        createTree(t->rchild);
    }
}
int btDepth(BiTree t){
    if (!t)
        return 0;
    int front=-1,rear=-1;
    int last=0,level=0;
    BiTree Q[100];
    Q[++rear]=t;
    BiTree p;
    while (front<rear){
        p=Q[++front];
        if (p->lchild)
            Q[++rear]=p->lchild;
        if (p->rchild)
            Q[++rear]=p->rchild;
        if (front==last){
            level++;
            last=rear;
        }
    }
    return level;
}
int main() {
  BiTree t;
  createTree(t);
  printf("%d", btDepth(t));

}


http://www.kler.cn/a/134414.html

相关文章:

  • 【IC每日一题:IC常用模块--RR/handshake/gray2bin】
  • 【计算机网络】TCP网络程序
  • 【ACM出版】第四届信号处理与通信技术国际学术会议(SPCT 2024)
  • Thread类及常见方法
  • Postman上传图片如何处理
  • C# 模拟浏览器自操作(自动化办公)
  • buildadmin+tp8表格操作(3)----表头上方按钮绑定事件处理,实现功能(选中或取消指定行)
  • 互联网摸鱼日报(2023-11-20)
  • wpf devexpress post 更改数据库
  • kafka分布式安装部署
  • 【微信小程序篇】- 组件
  • 算法设计与分析复习--贪心(一)
  • 特效!视频里的特效在哪制作——Adobe After Effects
  • java智慧校园信息管理系统源码带微信小程序
  • 【wp】2023第七届HECTF信息安全挑战赛 Web
  • 什么是Selenium?如何使用Selenium进行自动化测试?
  • 初刷leetcode题目(4)——数据结构与算法
  • C# Array和ArrayList有什么区别
  • WPF拖拽相关的类
  • 详解Java设计模式之职责链模式
  • S7-1200PLC 作为MODBUSTCP服务器通信(多客户端访问)
  • Web安全研究(五)
  • python中Thread实现多线程任务
  • iTerm2+oh-my-zsh搭个Mac电脑上好用好看终端
  • Zotero在word中插入参考文献
  • 队列和微服务的异步通信