题目
输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。
例如:
给定二叉树 [3,9,20,null,null,15,7],
3 / \ 9 20 / \ 15 7
返回它的最大深度 3 。
解题
方法一:BFS
class Solution { public: int maxDepth(TreeNode* root) { if(!root) return 0; queue<TreeNode*> queue; queue.push(root); int depth=0; while(!queue.empty()){ int l=queue.size(); for(int i=0;i<l;i++){ TreeNode* cur=queue.front(); queue.pop(); if(cur->left) queue.push(cur->left); if(cur->right) queue.push(cur->right); } depth++; } return depth; } };