博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编程算法 - 二叉树的深度 代码(C)
阅读量:5757 次
发布时间:2019-06-18

本文共 1581 字,大约阅读时间需要 5 分钟。

二叉树的深度 代码(C)

本文地址: http://blog.csdn.net/caroline_wendy

题目: 输入一棵二叉树的根节点, 求该树的深度.

依次选择最深的左右子树, 然后递归加1.

代码:

/* * main.cpp * *  Created on: 2014.6.12 *      Author: Spike *//*eclipse cdt, gcc 4.8.1*/#include 
#include
#include
struct BinaryTreeNode { int m_nValue; BinaryTreeNode* m_pLeft; BinaryTreeNode* m_pRight;};int TreeDepth(BinaryTreeNode* pRoot) { if (pRoot == NULL) return 0; int nLeft = TreeDepth(pRoot->m_pLeft); int nRight = TreeDepth(pRoot->m_pRight); return (nLeft>nRight) ? (nLeft+1):(nRight+1);}BinaryTreeNode* init(void) { BinaryTreeNode* pRoot = new BinaryTreeNode(); pRoot->m_nValue = 1; BinaryTreeNode* pNode2 = new BinaryTreeNode(); pNode2->m_nValue = 2; BinaryTreeNode* pNode3 = new BinaryTreeNode(); pNode3->m_nValue = 3; BinaryTreeNode* pNode4 = new BinaryTreeNode(); pNode4->m_nValue = 4; BinaryTreeNode* pNode5 = new BinaryTreeNode(); pNode5->m_nValue = 5; BinaryTreeNode* pNode6 = new BinaryTreeNode(); pNode6->m_nValue = 6; BinaryTreeNode* pNode7 = new BinaryTreeNode(); pNode7->m_nValue = 7; pRoot->m_pLeft = pNode2; pRoot->m_pRight = pNode3; pNode2->m_pLeft = pNode4; pNode2->m_pRight = pNode5; pNode4->m_pLeft = NULL; pNode4->m_pRight = NULL; pNode5->m_pLeft = pNode7; pNode5->m_pRight = NULL; pNode7->m_pLeft = NULL; pNode7->m_pRight = NULL; pNode3->m_pLeft = NULL; pNode3->m_pRight = pNode6; pNode6->m_pLeft = NULL; pNode6->m_pRight = NULL; return pRoot;}int main(void){ BinaryTreeNode* pRoot = init(); int result = TreeDepth(pRoot); printf("result = %d\n", result); return 0;}

输出:

result = 4

你可能感兴趣的文章
MongoDB实战系列之五:mongodb的分片配置
查看>>
Unable to determine local host from URL REPOSITORY_URL=http://
查看>>
java基础(1)
查看>>
ORACLE配置,修改tnsnames.ora文件实例
查看>>
Workstation服务无法启动导致无法访问文件服务器
查看>>
.Net组件程序设计之远程调用(二)
查看>>
ant中文教程
查看>>
Linux常用命令(一)
查看>>
WSUS数据库远端存储条件下切换域及数据库迁移
查看>>
【VMCloud云平台】SCAP(四)租户(一)
查看>>
linux释放内存的方法
查看>>
基于 Android NDK 的学习之旅----- C调用Java
查看>>
我的友情链接
查看>>
Android图形显示系统——下层显示4:图层合成上(合成原理与3D合成)
查看>>
Windows 10 技术预览
查看>>
Tomcat http跳转https
查看>>
一个自动布署.net网站的bat批处理实例
查看>>
tomcat 安装
查看>>
我的友情链接
查看>>
Centos6.6安装选包及基础场景说明
查看>>