原题链接:111. 二叉树的最小深度
思路:
直接层序遍历,遍历一层记录最小深度的遍历depth++
最先遇到叶子节点就代表是最小的深度,直接返回depth即可
全代码:
class Solution {
public:int minDepth(TreeNode* root) {queue<TreeNode*> que;//记录最小深度int depth = 0;if(root != NULL) que.push(root);while(!que.empty()){int size = que.size();//最小深度++depth++;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即可if(!Node ->left && !Node ->right) return depth;}}return depth;}
};