aboutsummaryrefslogtreecommitdiff
path: root/min_dist_bst_node.cpp
blob: 52226283eee7875fc0891fc2e47283d986dc65ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 783. Minimum Distance Between BST Nodes
#include "leetcode.h"

// given the 'root' of BST, return the minimum difference between the values
// of any two different nodes in the tree!

class Solution {
public:
  int ans = INT_MAX, pre = -1;
  int minDiffInBST(TreeNode *root) {
    if (root->left != NULL)
      minDiffInBST(root->left);
    if (pre >= 0)
      ans = min(ans, root->val - pre);
    pre = root->val;
    if (root->right != NULL)
      minDiffInBST(root->right);
    return ans;
  }
};