标签:二叉搜索树 节点 算法 tree node 描述 二叉树 this leetcode slice
https://leetcode-cn.com/problems/zui-xiao-de-kge-shu-lcof/
输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。
输入:arr = [3,2,1], k = 2 输出:[1,2] 或者 [2,1]
输入:arr = [0,1,2,1], k = 1 输出:[0]
写sort数值排序
k 个数。/**
* @param {number[]} arr
* @param {number} k
* @return {number[]}
*/
var getLeastNumbers = function(arr, k) {
arr.sort(function(a,b){
return a-b;
});
let res = [];
for(let i=0;i<k;i++){
res.push(arr[i]);
}
return res;
};
https://leetcode-cn.com/problems/da-yin-cong-1dao-zui-da-de-nwei-shu-lcof/
输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。
示例 1:
输入: n = 1 输出: [1,2,3,4,5,6,7,8,9]
说明:
根据n输出最小的n+1位数。
/**
* @param {number} n
* @return {number[]}
*/
var printNumbers = function(n) {
let len = Math.pow(10,n);
let res = [];
for(let i=1;i<len;i++){
res.push(i);
}
return res;
};
https://leetcode-cn.com/problems/minimum-height-tree-lcci/
给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。
给定有序数组: [-10,-3,0,5,9],
一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树:
0
/ \
-3 9
/ /
-10 5
二叉搜索树:左子树所有节点的值小于根节点,右子树所有节点的值大于根节点,且左、右子树均为二叉搜索树。
大于根节点。
/**
* Definition for a binary tree node.
* function TreeNode(val) {
* this.val = val;
* this.left = this.right = null;
* }
*/
/**
* @param {number[]} nums
* @return {TreeNode}
*/
var sortedArrayToBST = function(nums) {
let len = nums.length;
if(len === 0){
return null;
}
let mid = parseInt(len/2);
let root = new TreeNode(nums[mid]);
root.left = sortedArrayToBST(nums.slice(0, mid));
root.right =sortedArrayToBST(nums.slice(mid+1));
return root;
};
标签:二叉搜索树 节点 算法 tree node 描述 二叉树 this leetcode slice
原文地址:https://www.cnblogs.com/liu-xin1995/p/12535038.html