#include #include #include #include #include #include #include #include #include #include #include using namespace std; 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 minDiffInBST(TreeNode* root); }; int Solution::minDiffInBST(TreeNode* root) { return 0; } int main() { vector N; TreeNode *t; int n; int i, l; bool rv; Solution s; while (cin >> n) { if (n >= 0) { t = new TreeNode(n); N.push_back(t); } else { N.push_back(nullptr); } } for (i = 0; i < N.size(); i++) { if (N[i] != nullptr) { l = 2*i + 1; if (l < N.size()) N[i]->left = N[l]; l++; if (l < N.size()) N[i]->right = N[l]; } } cout << (s.minDiffInBST(N[0])) << endl; return 0; }