当前位置: 代码迷 >> 综合 >> leetcode 111: Minimum Depth of Binary Tree
  详细解决方案

leetcode 111: Minimum Depth of Binary Tree

热度:39   发布时间:2023-12-18 00:36:50.0

问题描述:

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.

思路:

思路很简单,就是直接地按层遍历二叉树,然后发现叶节点就跳出即可。
但是一开始做得很糊涂,以为一个节点没有两个儿子就当做叶节点,折腾了好久才发现错误,而且这个错误在做Path Sum那题的时候也有这么一个折腾的过程,但当时没有记下,反而让错误思维固势。特此记录。

代码:

class Solution {   
public:int minDepth(TreeNode* root) {list<TreeNode*> nodelist;if (root == NULL) return 0;nodelist.push_back(root);int depth = 0;bool isbreak = false;    //is get from breakwhile ((!nodelist.empty()) && (!isbreak)){int length = nodelist.size();for (int i = 0; i < length; i++){TreeNode *now = *nodelist.begin();if ((now->left == NULL) && (now->right == NULL))     //determine if it is a leaf{isbreak = true;   //find the leaf, set break signalbreak;}if (now->left) nodelist.push_back(now->left);if (now->right) nodelist.push_back(now->right);nodelist.pop_front();}depth++;}return depth;}};
  相关解决方案