1class Solution {2public:3int findSecondMinimumValue(TreeNode *root) {4queue<TreeNode *> q;5q.push(root);6vector<int> v;7while (!q.empty()) {8v.push_back(q.front()->val);9if (q.front()->left) {10q.push(q.front()->left);11}12if (q.front()->right) {13q.push(q.front()->right);14}15q.pop();16}17sort(v.begin(), v.end());18int ans = -1;19for (int i = 1; i < v.size(); i++) {20if (v[i] != v[0]) {21return v[i];22}23}24return ans;25}26};