思路:depth初始为0,要是有子孩子就depth加1,循环过了之后最后一个没子孩子,depth也会加1,弥补了先开始的0。简单题,模板略微改一点。
题解c++:
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int maxDepth(TreeNode* root) {queue<TreeNode*> que;if(root!=NULL) que.push(root);int depth=0;while(!que.empty()){int size=que.size();for(int i=0;i<size;i++){TreeNode* node=que.front();que.pop(); if(node->left) que.push(node->left);if(node->right) que.push(node->right);}depth+=1;}return depth;}
};