From c89afcd46acc77bced42b1ce1111d7f2e94f667b Mon Sep 17 00:00:00 2001 From: chayan das <110921638+Chayandas07@users.noreply.github.com> Date: Wed, 26 Jun 2024 17:16:12 +0530 Subject: [PATCH] Create 1382. Balance a Binary Search Tree1 --- 1382. Balance a Binary Search Tree1 | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 1382. Balance a Binary Search Tree1 diff --git a/1382. Balance a Binary Search Tree1 b/1382. Balance a Binary Search Tree1 new file mode 100644 index 0000000..42de15e --- /dev/null +++ b/1382. Balance a Binary Search Tree1 @@ -0,0 +1,29 @@ +class Solution { +public: + vectora; + void inorder(TreeNode*root) + { + if(root) + { + inorder(root->left); + a.push_back(root->val); + inorder(root->right); + } + } + + TreeNode* buildTree(int s, int e) + { + if(s > e) return NULL; + int mid = (s+e)/2; + TreeNode* root = new TreeNode(a[mid]); + root->left = buildTree(s, mid-1); + root->right = buildTree(mid+1, e); + return root; + } + + TreeNode* balanceBST(TreeNode* root) + { + inorder(root); + return buildTree(0, a.size()-1); + } +};