LeetCode 104. Maximum Depth of Binary Tree 题解(C++)
2016-09-29 17:51
357 查看
LeetCode 104. Maximum Depth of Binary Tree 题解(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.
思路
这道题使用二叉树的深度优先搜索就可轻易解答。首先设置递归函数的出口,假如该结点为空节点,则直接返回0,若该结点的左右子树均为空,则返回1;接下来使用两个变量depLeft和depRight来分别接受左右子树的深度,若左子树不为空,则进入左子树进行递归,右子树同理;
最后返回左子树和右子树的深度中较大的一个,这里记得要加1,因为我们已经有了一层的结点。
代码
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: int maxDepth(TreeNode* root) { if (root == NULL) { return 0; } if (root->left == NULL && root->right == NULL) { return 1; } int depLeft = 0; int depRight = 0; if (root->left != NULL) { depLeft = maxDepth(root->left); } if (root->right != NULL) { depRight = maxDepth(root->right); } return 1 + (depLeft > depRight ? depLeft : depRight); } };
相关文章推荐
- LeetCode 226. Invert Binary Tree 题解(C++)
- leetcode Minimum Depth of Binary Tree C++题解
- leetcode Flatten Binary Tree to Linked List C++题解
- LeetCode题解:Convert Sorted Array to Binary Search Tree
- LeetCode 98 — Validate Binary Search Tree(C++ Java Python)
- leetcode题解:Construct Binary Tree from Inorder and Postorder Traversal(根据中序和后序遍历构造二叉树)
- leetcode 题解:Binary Tree Preorder Traversal (二叉树的先序遍历)
- LeetCode题解:Binary Tree Preorder Traversal
- LeetCode 144 — Binary Tree Preorder Traversal(C++ Java Python)
- *Leetcode_binary-tree-maximum-path-sum (updated c++ and python version)
- Leetcode_binary-tree-level-order-traversal (updated c++ and python version)
- leetcode题解:Construct Binary Tree from Preorder and Inorder Traversal (根据前序和中序遍历构造二叉树)
- LeetCode题解:Binary Tree Inorder Traversal
- LeetCode题解: Flatten Binary Tree to Linked List
- LeetCode: Minimum Depth of Binary Tree 题解
- LeetCode题解:Maximum Depth of Binary Tree
- LeetCode题解: Validate Binary Search Tree
- LeetCode题解: Construct Binary Tree from Preorder and Inorder Traversal
- 【题解】【BST】【Leetcode】Convert Sorted Array to Binary Search Tree
- leetcode题解:Binary Tree Postorder Traversal (二叉树的后序遍历)