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.
给定一棵二叉树,找到它的最小深度。最小深度是沿着从根节点到最近叶节点的最短路径的节点数量。
1 class Solution { 2 public: 3 typedef TreeNode* tree; 4 int run(TreeNode *root) { 5 if(!root) 6 return 0; 7 queue<tree> q; 8 q.push(root); 9 tree cur,last; 10 int level=1; 11 last=q.back(); 12 while(q.size()){ 13 cur=q.front(); 14 q.pop(); 15 if(cur->left==NULL&&cur->right==NULL) 16 break; 17 if(cur->left!=NULL) 18 q.push(cur->left); 19 if(cur->right!=NULL) 20 q.push(cur->right); 21 if(last==cur){ 22 level++; 23 last=q.back(); 24 } 25 } 26 return level; 27 28 } 29 };