108. Convert Sorted Array to Binary Search Tree
来源:互联网 发布:淘宝怎么过高 编辑:程序博客网 时间:2024/05/29 06:45
题目
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
翻译
给定一个数组,其中元素按升序排序,将其转换为平衡BST的高度。
分析
平衡二叉树就是
- 若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;
- 若任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值;
- 它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: TreeNode* buildBST(vector<int>& nums, int i, int j){ if(i>j) return NULL; int m=(i+j)/2; TreeNode* root=new TreeNode(nums[m]); root->left=buildBST(nums,i,m-1); root->right=buildBST(nums,m+1,j); return root; } TreeNode* sortedArrayToBST(vector<int>& nums) { int size=nums.size(); return buildBST(nums,0,size-1); }};
理解二分递归法的大致流程
取一个中点,进行逻辑运算
递归。
0 0
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- Convert Sorted Array to Binary Search Tree
- 远程GPRS发送至上位机
- Android-WARNING: Uninstalling will remove the application data! Do you want to uninstall the existi
- R中logistics回归分析以及K-CV
- js中的引号嵌套问题
- 常用ANSI C语言标准库函数汇总(二)
- 108. Convert Sorted Array to Binary Search Tree
- 学习JVM(垃圾收集和内存分配)
- Latke源码解析(二)IOC部分
- 第4章 贵族专制、民主政治和系统设计
- 在windows上快速安装numpy、scipy、matplotlib库
- 商品展示
- /PROC 调试
- 数组中重复的数字
- matplotlib的基本用法(五)——添加annotation