leetcode 104. 二叉树的最大深度
Posted Joel_Wang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 104. 二叉树的最大深度相关的知识,希望对你有一定的参考价值。
深度优先搜索代码:
/** * 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) { int depth=0,high=0; dfs(root,depth,high); return depth; } void dfs(TreeNode* root,int &depth,int high){ if(root==NULL) return; high++; if(high>depth) depth=high; dfs(root->left,depth,high); dfs(root->right,depth,high); high--; } };
精简版:
/** * 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) { return root==NULL? 0: 1+max(maxDepth(root->left),maxDepth(root->right)); } };
以上是关于leetcode 104. 二叉树的最大深度的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode题目104.二叉树的最大深度(DFS+BFS简单)