九度 题目1350:二叉树的深度
来源:互联网 发布:淘宝怎么隐藏待收货 编辑:程序博客网 时间:2024/06/06 05:18
题目来源:http://ac.jobdu.com/problem.php?pid=1350
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:600
解决:347
- 题目描述:
输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
- 输入:
第一行输入有n,n表示结点数,结点号从1到n。根结点为1。 n <= 10。
接下来有n行,每行有两个个整型a和b,表示第i个节点的左右孩子孩子。a为左孩子,b为右孩子。当a为-1时,没有左孩子。当b为-1时,没有右孩子。
- 输出:
输出一个整型,表示树的深度。
- 样例输入:
3
2 3
-1 -1
-1 -1
- 样例输出:
2
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int MAXN = 11;struct BinaryTreeNode{ BinaryTreeNode* pLChild; BinaryTreeNode* pRChild; BinaryTreeNode() { pLChild = pRChild = NULL; }};BinaryTreeNode* Binary_Tree[MAXN];int GetBianryTreeDeepth(BinaryTreeNode* pRoot){ if(pRoot == NULL) return 0; int ilLen = GetBianryTreeDeepth(pRoot->pLChild); int irLen = GetBianryTreeDeepth(pRoot->pRChild); return (ilLen > irLen) ? (ilLen + 1) : (irLen + 1);}void Delete_BinaryTree(BinaryTreeNode* pRoot){ if(pRoot == NULL) return ; if(pRoot->pLChild == NULL && pRoot->pRChild == NULL) { delete pRoot; return ; } Delete_BinaryTree(pRoot->pLChild); Delete_BinaryTree(pRoot->pRChild);}int main(){ int n, a, b, i; while(~scanf("%d", &n)) { for(i = 0; i <= n; ++i) Binary_Tree[i] = NULL; Binary_Tree[1] = new BinaryTreeNode(); for(i = 1; i <= n; ++i) { scanf("%d %d", &a, &b); if(a != -1) { if(Binary_Tree[a] == NULL) Binary_Tree[a] = new BinaryTreeNode(); if(Binary_Tree[i] == NULL) Binary_Tree[i] = new BinaryTreeNode; Binary_Tree[i]->pLChild = Binary_Tree[a]; } if(b != -1) { if(Binary_Tree[b] == NULL) Binary_Tree[b] = new BinaryTreeNode(); if(Binary_Tree[i] == NULL) Binary_Tree[i] = new BinaryTreeNode; Binary_Tree[i]->pRChild = Binary_Tree[b]; } } printf("%d\n", GetBianryTreeDeepth(Binary_Tree[1])); Delete_BinaryTree(Binary_Tree[1]); } return 0;}
0 0
- 题目1350:二叉树的深度-九度
- 九度oj 题目1350:二叉树的深度
- 九度 题目1350:二叉树的深度
- 九度OJ-题目1350:二叉树的深度
- 九度 题目1350:二叉树的深度
- 【剑指Offer面试编程题】 题目1350:二叉树的深度--九度OJ
- 九度笔记之 1350:二叉树的深度
- 九度OJ - 1350 - 二叉树的深度
- 九度OJ 1350:二叉树的深度 (二叉树)
- 题目1521:二叉树的镜像-九度
- 【九度】题目1521:二叉树的镜像
- 九度 题目1521:二叉树的镜像
- 九度OJ-题目1521:二叉树的镜像
- 九度题目1184:二叉树遍历
- 九度 题目1541:二叉树
- 九度OnlineJudge题目1113:二叉树
- 九度题目1184:二叉树遍历
- 九度题目1009:二叉搜索树
- OnContextMenu事件
- 现有几个动作、休闲、消除、飞机类游戏,使用cocos2d-x引擎开发的 商业游戏源码出售
- Java SoftReference
- acdream1094 几何
- DNS的Emeu算法
- 九度 题目1350:二叉树的深度
- HDU 1072 Nightmare(BFS)
- 求两个list的交集和差集
- JSP基础语法包括
- 中俄东海演习反潜 作战数据全部向对方开放
- zend framework获取数据库中枚举类enum的数据并将其转换成数组
- 双线双IP和BGP双线有什么区别?
- Photon + Unity3D 线上游戏开发 学习笔记(三)
- [leetcode代码]Best Time to Buy and Sell Stock II