Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
public TreeNode sortedArrayToBST(int[] num) { if(num.length==0) return null; return toBST(num, 0, num.length-1); } private TreeNode toBST(int[] num, int start, int end) { if(start > end) { return null; } int m = (start+end)>>1; TreeNode node = new TreeNode(num[m]); node.left = toBST(num, start, m-1); node.right = toBST(num, m+1, end); return node; }
TreeNode* sortedArrayToBST(vector<int>& nums) { if(!nums.size()) return NULL; int *arr = &nums[0]; return toBST(arr, nums.size()); } TreeNode *toBST(int* nums, int n) { if(n == 0) return NULL; int m = n / 2; TreeNode *root = new TreeNode(nums[m]); root->left = toBST(nums, m); root->right = toBST(nums+m+1, n-m-1); return root; }
相关推荐
js js_leetcode题解之108-convert-sorted-array-to-binary-search-tree.js
python python_leetcode题解之108_Convert_Sorted_Array_to_Binary_Search_Tree
leetcode添加元素使和等于 LeetCode leetcode 指针类型题目 1. 链表 函数参数传入的链表都没有链表的头,从第一个有数据的节点开始 函数返回一个链表,这个链表也没有头 2. 内存分配 二维数组内存分配 二维数组分配...
leetcode卡 leetcode exercises 3-5 solutions everyday. fighting~ TODO array Best Time to Buy and Sell Stock II Valid Sudoku linked list Palindrome linked list Linked List Cycle trees Convert Sorted ...
26 | [Remove Duplicates from Sorted Array](https://leetcode.com/problems/remove-duplicates-from-sorted-array/)| [C++](./C++/remove-duplicates-from-sorted-array.cpp) [Python](./Python/remove-duplicates...
Javascript 的解决方案Leetcode Problems and interview problems in Javascript10 Regular Expresion Matching.js100 Same Tree.js101 Symmetric Tree.js102 Binary Tree Level Order Traversal.js103 Binary Tree ...
lru缓存leetcode leetcode 大批 41. First Missing Positive 广度优先搜索 773. Sliding Puzzle 864. Shortest Path to Get All Keys 深度优先搜索 996. Number of Squareful Arrays 拓扑排序 269. Alien Dictionary...
- **Convert Sorted List/Array to Binary Search Tree**:将有序列表或数组转换为二叉搜索树。 - **Path Sum II**:寻找所有从根节点到叶节点的路径,其路径和等于给定的目标值。 - **Flatten Binary Tree to ...
- Convert Sorted Array to Binary Search Tree(将有序数组转换为二叉搜索树) 7. Bit Manipulation(位运算): 位运算是对整数在内存中的二进制形式进行的运算。它是一种低级操作,但能高效地完成某些特定的任务...
- **整数转换(Convert Integer A to Integer B)**: 将一个整数转换为另一个整数。 - **阶乘末尾0的个数(Factorial Trailing Zeroes)**: 计算一个整数阶乘结果末尾有多少个零。 - **唯一二叉搜索树(Unique Binary ...
29. Convert Sorted Array to Balanced Binary Search Tree:将有序数组转换成平衡的二叉搜索树。 30. Convert Sorted List to Balanced Binary Search Tree:将有序链表转换成平衡的二叉搜索树。 31. Binary Tree ...
29. Convert Sorted Array to Binary Search Tree:将有序数组转换为高度平衡的二叉搜索树。 30. Convert Sorted List to Binary Search Tree:将有序链表转换为高度平衡的二叉搜索树。 31. Binary Tree Maximum ...
**1.9 Convert Sorted List to Binary Search Tree (109)** - **问题描述**:给定一个链表,将其转换为平衡二叉搜索树。 - **解题思路**: - 先找到链表的中间节点作为根节点。 - 使用递归方式处理左子树和右子树...
2. **将有序数组转换为二叉搜索树(Convert Sorted Array to Binary Search Tree)**:利用有序数组的特点,通过递归构建平衡的二叉搜索树。 ### 动态规划 动态规划是解决复杂问题的常用方法,主要通过将问题分解...