2023-07-10 Daily Challenge
Today I have done leetcode's July LeetCoding Challenge with cpp
.
July LeetCoding Challenge 10
Description
Minimum Depth of Binary Tree
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.
Note: A leaf is a node with no children.
Example 1:
Input: root = [3,9,20,null,null,15,7] Output: 2
Example 2:
Input: root = [2,null,3,null,4,null,5,null,6] Output: 5
Constraints:
- The number of nodes in the tree is in the range
[0, 105]
. -1000 <= Node.val <= 1000
Solution
auto speedup = [](){
cin.tie(nullptr);
cout.tie(nullptr);
ios::sync_with_stdio(false);
return 0;
}();
class Solution {
public:
int minDepth(TreeNode* root) {
if (root == NULL) return 0;
queue<TreeNode*> Q;
Q.push(root);
int i = 0;
while (!Q.empty()) {
i++;
int k = Q.size();
for (int j = 0; j < k; ++j) {
TreeNode* rt = Q.front();
Q.pop();
if (rt->left) Q.push(rt->left);
if (rt->right) Q.push(rt->right);
if (rt->left == NULL && rt->right == NULL) return i;
}
}
return -1; //For the compiler thing. The code never runs here.
}
};
// Accepted
// 52/52 cases passed (237 ms)
// Your runtime beats 99.27 % of cpp submissions
// Your memory usage beats 99.31 % of cpp submissions (144.4 MB)