From c2cdf9cc0a3a3105fbecdd51fd9346cb664b9940 Mon Sep 17 00:00:00 2001 From: Gyandeep <53125532+iGyandeep@users.noreply.github.com> Date: Wed, 14 Jun 2023 14:14:09 +0530 Subject: [PATCH] 530. Minimum Absolute Difference in BST.cpp Company: Google Problem Link: https://leetcode.com/problems/minimum-absolute-difference-in-bst/description/ Note: Alternate Solution / Approach --- 530. Minimum Absolute Difference in BST.cpp | 26 ++++++++------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/530. Minimum Absolute Difference in BST.cpp b/530. Minimum Absolute Difference in BST.cpp index fc63556..8692739 100644 --- a/530. Minimum Absolute Difference in BST.cpp +++ b/530. Minimum Absolute Difference in BST.cpp @@ -11,28 +11,22 @@ */ class Solution { public: - vector data; + int ans = INT_MAX; - void inOrder(TreeNode* root) { + void inOrder(TreeNode* root, TreeNode* &previous) { if (root == NULL) return; - - inOrder(root->left); - data.push_back(root->val); - inOrder(root->right); + inOrder(root->left, previous); + if (previous != NULL) + ans = min(ans, root->val - previous->val); + previous = root; + inOrder(root->right, previous); } int getMinimumDifference(TreeNode* root) { - - inOrder(root); - int ans = INT_MAX; - for (int i=0; i