思路:
这题很典型的BFS, 拿个队列记录这一层所有节点. 别用DFS, 虽然也能做对, 但对于这道题是很不好的解法.
int minDepth(TreeNode* root) {
if (! root)
return 0;
queue<TreeNode*> q;
q.push(root);
int depth = 0;
while (! q.empty()) {
depty++;
int size = q.size();
TreeNode* cur = q.front();
if (cur->left)
q.push(cur->left);
if (cur->right)
q.push(cur->right);
if (! cur->left && ! cur->right)
return depth;
q.pop();
}
return depth;
}