三个二叉树的简单问题
来源:互联网 发布:赵薇被泼粪事件,知乎 编辑:程序博客网 时间:2024/05/29 04:23
本文给出三个二叉树的简单问题的答案,因其简单易懂,笔者就不多说了,直接上代码。
一.找出二叉树最大值的节点
//找出二叉树最大值的节点class Solution {public: /** * @param root the root of binary tree * @return the max node */ TreeNode* maxNode(TreeNode* root) { if (root == NULL) return root; TreeNode* leftMax = root; TreeNode* rightMax = root; if (root->left != NULL) leftMax = maxNode(root->left); if (root->right != NULL) rightMax = maxNode(root->right); TreeNode* max = root; if (leftMax->val > max->val) max = leftMax; if (rightMax->val > max->val) max = rightMax; return max; }};二.深度复制一个二叉树
//深度复制一个二叉树/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; * TreeNode(int val) { * this->val = val; * this->left = this->right = NULL; * } * } */class Solution {public: /** * @param root: The root of binary tree * @return root of new tree */ TreeNode* cloneTree(TreeNode *root) { if (root == NULL) return NULL; TreeNode* r = new TreeNode(root->val); if (root->left != NULL) r->left = cloneTree(root->left); if (root->right != NULL) r->right = cloneTree(root->right); return r; }};
三.找出二叉树的最大深度
二叉树的深度为根节点到最远叶子节点的距离。
//找出二叉树的最大深度/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; * TreeNode(int val) { * this->val = val; * this->left = this->right = NULL; * } * } */class Solution {public: /** * @param root: The root of binary tree. * @return: An integer */ int maxDepth(TreeNode *root) { if (root == NULL) return 0; int left = maxDepth(root->left); int right = maxDepth(root->right); if (left >= right) return left+1; else return right+1; }};
1 0
- 三个二叉树的简单问题
- 二叉树的三个算法
- 搜索算法-三个简单的小问题
- python 重建二叉树的三个方法
- 简单的二叉树
- boj 1345 二叉树问题 简单的dp
- poj2250(简单的二叉树问题) Tree Recovery
- 小猴子下落-一个简单的二叉树问题
- 三个简单的问题,让你顺势而为
- 树---关于二叉树的三个小算法
- 二叉树的问题
- 最简单的二叉树
- 简单二叉树的实现
- 二叉树的简单操作
- 二叉树的简单实现
- 二叉树的简单接口
- 简单二叉树的实现
- 二叉树的简单操作
- Linux 创建共享内存 从一个程序写一个程序读
- SQL三种物理连接操作Nested Loop Join,Merge Join,Hash Join
- 核桃的数量
- 网易春招笔试题2017.3.25编程题(ios)
- Eclipse开发中的快捷键
- 三个二叉树的简单问题
- android 通过浏览器启动app,如果本地app先启动了,会出现启动两次的问题
- html 右键菜单
- 一张VIM键盘图,送给大家
- caffe 18 ubuntu16.04 make distribute
- Android RGB颜色查询对照表
- 【图论】拓扑排序
- Sybase获取动态sql语句返回值
- CollapsingToolbarLayout+TabLayout+ViewPager