剑指offer 39_二叉树的深度
2015-08-18 11:29
357 查看
#include <stdio.h> #include <malloc.h> typedef int Item; typedef struct node{ Item m_value; struct node* m_pLeft; struct node* m_pRight; }BinaryTreeNode; int getTreeDepth(BinaryTreeNode *root){ if(root == NULL){ return 0; } int depthLeft = getTreeDepth(root->m_pLeft); int depthRight = getTreeDepth(root->m_pRight); return (depthLeft > depthRight) ? depthLeft + 1 : depthRight + 1; } void PrePrintTree(BinaryTreeNode* root){ if(root != NULL){ printf("%d ",root->m_value); }else{ return; } PrePrintTree(root->m_pLeft); PrePrintTree(root->m_pRight); printf("\n"); } int main(){ BinaryTreeNode* root = (BinaryTreeNode*)malloc(sizeof(BinaryTreeNode)); BinaryTreeNode* node2 = (BinaryTreeNode*)malloc(sizeof(BinaryTreeNode)); BinaryTreeNode* node3 = (BinaryTreeNode*)malloc(sizeof(BinaryTreeNode)); root->m_pLeft = node2; root->m_pRight = node3; BinaryTreeNode *node4 = (BinaryTreeNode*)malloc(sizeof(BinaryTreeNode)); BinaryTreeNode *node5 = (BinaryTreeNode*)malloc(sizeof(BinaryTreeNode)); BinaryTreeNode *node6 = (BinaryTreeNode*)malloc(sizeof(BinaryTreeNode)); node2->m_pLeft = node4; node2->m_pRight = node5; node3->m_pRight = node6; BinaryTreeNode *node7 = (BinaryTreeNode*)malloc(sizeof(BinaryTreeNode)); node5->m_pLeft = node7; BinaryTreeNode *node8 = (BinaryTreeNode*)malloc(sizeof(BinaryTreeNode)); BinaryTreeNode *node9 = (BinaryTreeNode*)malloc(sizeof(BinaryTreeNode)); node7->m_pLeft = node8; node7->m_pRight = node9; BinaryTreeNode *node10 = (BinaryTreeNode*)malloc(sizeof(BinaryTreeNode)); BinaryTreeNode *node11 = (BinaryTreeNode*)malloc(sizeof(BinaryTreeNode)); node9->m_pLeft = node10; node10->m_pLeft = node11; root->m_value = 1; node2->m_value = 2; node3->m_value = 3; node4->m_value = 4; node5->m_value = 5; node6->m_value = 6; node7->m_value = 7; node8->m_value = 8; node9->m_value = 9; node10->m_value = 10; node11->m_value = 11; printf("%d\n\n",getTreeDepth(root)); PrePrintTree(root); }
相关文章推荐
- Html5文件
- js验证码
- js中==和===的区别
- html切换面板
- js 开启video全屏模式
- 手风琴JS特效源码
- JQuery实现数字滚动增加的效果
- 问题:table 可否实现对角线;结果:HTML 斜线 表头
- The difference between film faced plywood and wood I joist beam
- jQuery效果总结
- jQuery实战——jQuery本质是一个javascript函数
- js实现动态删除表格行和列
- json和XML
- Jquery动画第二部分
- jQuery实现的漂亮表单效果代码
- 常用css总结
- jQuery操作dom
- View注入框架:Butterknife简单使用
- js实现表格的动态添加
- Errors running builder 'JavaScript Validator' on project