[leetcode]Maximum Depth of Binary Tree (求二叉树的最大深度 C语言)
2015-03-27 21:03
621 查看
Maximum Depth of Binary Tree
Given a binary tree, find its maximum depth.
The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
题意:给定一个二进制树,找到它的最大深度。
最大深度是从根节点到叶节点的最远的最长的路径节点数。
解题思路:采用递归思路,前序遍历,求出各个叶子节点的度,再设置一个临时变量用于保存叶子节点的度的最大值,可以假设每个节点的值为1,这样节点的度就是遍历到该节点时的节点值之和。
难点:对叶子节点的遍历,并获取其深度值,不同叶子节点的深度值不一样,如何获取这个值。
C语言实现代码:
Given a binary tree, find its maximum depth.
The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
题意:给定一个二进制树,找到它的最大深度。
最大深度是从根节点到叶节点的最远的最长的路径节点数。
解题思路:采用递归思路,前序遍历,求出各个叶子节点的度,再设置一个临时变量用于保存叶子节点的度的最大值,可以假设每个节点的值为1,这样节点的度就是遍历到该节点时的节点值之和。
难点:对叶子节点的遍历,并获取其深度值,不同叶子节点的深度值不一样,如何获取这个值。
C语言实现代码:
/**解题思路:采用递归思路,前序遍历, * 先求出各个叶子节点的深度,并设置一个中间变量用于存储树的最大深度值 * Definition for binary tree * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ void PreOrder(struct TreeNode *root, int *Max, int *depth); int maxDepth(struct TreeNode *root) { int Max = 0; int depth = 1; PreOrder(root, &Max, &depth); return Max; } void PreOrder(struct TreeNode *root, int *Max, int *depth){ if(root == NULL){ return; } if(root->left == NULL && root->right == NULL){ if(*Max < *depth){ *Max = *depth; return; } } (*depth)++; PreOrder(root->left, Max, depth); PreOrder(root->right, Max, depth); (*depth)--; }
相关文章推荐
- [LeetCode] Maximum Depth of Binary Tree 二叉树的最大深度
- 【LeetCode笔记】Maximum Depth of Binary Tree 二叉树最大深度 递归&非递归
- LeetCode----Maximum Depth of Binary Tree 求二叉树最大深度
- LeetCode:104_Maximum Depth of Binary Tree | 二叉树的最大深度 | Easy
- LeetCode:104_Maximum Depth of Binary Tree | 二叉树的最大深度 | Easy
- LeetCode:104_Maximum Depth of Binary Tree | 二叉树的最大深度 | 深度优先与广度优先深入理解
- 【LeetCode-面试算法经典-Java实现】【104-Maximum Depth of Binary Tree(二叉树的最大深度)】
- [LeetCode-104] Maximum Depth of Binary Tree(二叉树最大深度)
- 【LeetCode】 Maximum Depth of Binary Tree 二叉树的最大深度 - Easy
- LeetCode--Maximum Depth of Binary Tree (检索二叉树的最大深度)Python
- Leetcode 104 Maximum Depth of Binary Tree 二叉树的最大深度
- 【LeetCode】 Maximum Depth of Binary Tree 二叉树的最大深度
- 【LeetCode】Maximum Depth of Binary Tree (二叉树最大深度)
- [Leetcode] Maximum depth of binary tree二叉树的最大深度
- 【LeetCode-面试算法经典-Java实现】【104-Maximum Depth of Binary Tree(二叉树的最大深度)】
- LeetCode 104 Maximum Depth of Binary Tree(二叉树的最大深度)
- Leetcode Maximum Depth of Binary Tree 二叉树最大深度
- [Java代码] [Leetcode] Maximum and Minimum Depth of Binary Tree 二叉树的最小最大深度
- lintcode maximum-depth-of-binary-tree 二叉树的最大深度
- LinCode Maximum Depth of Binary Tree 二叉树的最大深度