标题叙述性说明:
Given a binary tree, find its minimum depth.
The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.
代码:
int Solution::minDepth(TreeNode *root) { int min_height = 0; queue<pair<TreeNode *,int> > treeNode_queue; if(root == NULL) return 0; treeNode_queue.push(pair<TreeNode *,int>(root,1)); while(!treeNode_queue.empty()) { pair<TreeNode *,int> node = treeNode_queue.front(); treeNode_queue.pop(); if(node.first->left == NULL && node.first->right == NULL) { min_height = node.second; break; } if(node.first->right != NULL) treeNode_queue.push(pair<TreeNode *,int>(node.first->right,node.second+1)); if(node.first->left != NULL) treeNode_queue.push(pair<TreeNode *,int>(node.first->left,node.second+1)); } return min_height; }