用于找从起点start到终点target的最近距离
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/class Solution {public:int minDepth(TreeNode* root) {if(root == nullptr)return 0;queue<TreeNode *> q;q.push(root);int minDeep = 1;while(!q.empty()){int len = q.size();for(int i = 0; i < len; i++){TreeNode* Node = q.front();q.pop();if(Node->right == nullptr && Node->left == nullptr)return minDeep;if(Node->right != nullptr)q.push(Node->right);if(Node->left != nullptr)q.push(Node->left);}minDeep++;}return minDeep;}};
