leetcode671+二叉樹中第二小的值,先搜尋,然後儲存到set中。
阿新 • • 發佈:2018-11-01
https://leetcode.com/problems/second-minimum-node-in-a-binary-tree/description/
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: int findSecondMinimumValue(TreeNode* root) { set<int>res; queue<TreeNode*>nodes; nodes.push(root); while(!nodes.empty()){ TreeNode* node = nodes.front(); nodes.pop(); res.insert(node->val); if(node->left) nodes.push(node->left); if(node->right) nodes.push(node->right); } set<int>::iterator it = res.begin(); if(res.size()>1) return *(++it); else return -1; } };