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

JZ55 二叉树的深度

二叉树的深度_牛客题霸_牛客网

递归代码太简单-一行就可以,可以用二叉树的层序遍历,顺便温习下二叉树层序遍历的写法。

对应leetcode 104题,层序遍历对应leetcode-102自顶向下,leetcode-107自底向上

/*
struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(NULL) {}
};*/
class Solution {
public:int TreeDepth(TreeNode* pRoot) {//if(!pRoot)return 0;// int depthLeft = TreeDepth(pRoot->left);// int depthRight = TreeDepth(pRoot->right);// return (depthLeft>depthRight)?(depthLeft+1):(depthRight+1);//层次遍历求树的深度// return pRoot? 1+max(TreeDepth(pRoot->left), TreeDepth(pRoot->right)): 0;//递归一行代码搞定if(!pRoot)return 0;TreeNode *pCur = pRoot, *plast = pRoot,*prelast = pRoot;queue<TreeNode*>treeQueue;int level_cnt = 0;treeQueue.push(pCur);while(!treeQueue.empty()){pCur = treeQueue.front();if(pCur->left){treeQueue.push(pCur->left);plast = pCur->left;}if(pCur->right){treeQueue.push(pCur->right);plast = pCur->right;}// treeQueue.pop();if(prelast == pCur){ //prelast=pCur的时候,plast始终指向pCur下一层的最右结点++level_cnt;prelast = plast;//更新prelast}treeQueue.pop();}return level_cnt;}
};

http://www.lryc.cn/news/427930.html

相关文章:

  • 视频号分销系统搭建教程,源代码+部署上线指南
  • 【python】cryptography库学习
  • 解密!抖音百万粉丝博主三维地图视频都用到了什么GIS数据和技术
  • Python知识点:如何使用Kubernetes与Python进行容器编排
  • Markdown与Word中插入图片的方法及比较
  • Vue3+Vite安装配置tailwindCss
  • 大数据学习-Spark基础入门
  • C语言:链表插入
  • xss 一些例子
  • 基于Docker compose部署Confluence 8.3.4及设置数据持久化存储的总结
  • eNSP 华为交换机生成树协议
  • flutter事件与消息通知
  • Oracle PL/SQL存储过程和函数简单示例
  • 同态加密和SEAL库的介绍(十)CKKS 参数心得 2
  • Debug-021-el-table实现分页多选的效果(切换分页,仍可以保持前一页的选中效果)
  • FPGA开发——DS18B20读取温度并且在数码管上显示
  • 电流测量分流电阻
  • MES系统:智能化排班排产的全面解决方案
  • 50道深度NLP和人工智能领域面试题+答案
  • 最小矩阵宽度(85%用例)C卷(JavaPythonC++Node.jsC语言)
  • STM32数据按字符截取与转换
  • 使用kubeadm快速部署一套K8S集群
  • 【Kotlin】在Kotlin项目中使用AspectJ
  • web实现drag拖拽布局
  • Linux网络编程—listen、accept、connect
  • logback.xml自定义标签节点
  • 探索DevExpress WinForms:.NET世界中的UI库之星
  • 零基础学习Redis(4) -- 常用数据结构介绍
  • Python实现水果忍者(开源)
  • Windows自动化3️⃣WindowsPC拽起时长问题解决方案