Given two values k1 and k2 (where k1 < k2) and a root pointer to a Binary Search Tree. Find all the keys of tree in range k1 to k2. i.e. print all x such that k1<=x<=k2 and x is a key of given BST. Return all the keys in ascending order.
Example
If k1 = 10
and k2 = 22
, then your function should return[12, 20, 22]
.
20
/ \
8 22
/ \
4 12
这道题也是Google的面经题。
Solution:
public List<Integer> searchRange(TreeNode root, int k1, int k2) { List<Integer> result = new ArrayList<>(); help(result, root, k1, k2); return result; } private void help(List<Integer> result, TreeNode node, int k1, int k2) { if(node == null) return; if(node.val >= k1) { help(result, node.left, k1, k2); } if(node.val >= k1 && node.val <= k2) { result.add(node.val); } if(node.val > k2) return; help(result, node.right, k1, k2); }
相关推荐
java java_leetcode-99-recover-binary-search-tree
amoeba-mysql-binary-2.2.0.tar.gz amoeba-mysql-binary-2.2.0.tar.gz amoeba-mysql-binary-2.2.0.tar.gz amoeba-mysql-binary-2.2.0.tar.gzamoeba-mysql-binary-2.2.0.tar.gz amoeba-mysql-binary-2.2.0.tar.gz ...
- Binary Tree(二叉树):涉及二叉树的遍历、深度、插入、搜索等基本操作。 - Binary Search(二分搜索):一种有效的查找算法,在有序数组中查找特定元素。 - Search in Rotated Sorted Array(旋转排序数组中的...
java java_leetcode-114-flatten-binary-tree-to-linked-list
java java_leetcode-105-construct-binary-tree-from-preorder-and-inorde
java java_leetcode-107-binary-tree-level-order-traversal
java java_leetcode-102-binary-tree-level-order-traversal
总之,"前端开源库-binary-search-tree"提供了一种在JavaScript环境中高效管理、操作和查询有序数据的方法,尤其是对于需要快速查找、插入和删除操作的场景,如实时搜索、动态数据过滤等。而AVL树的自平衡特性保证了...
js-leetcode题解之106-construct-binary-tree-from-inorder LeetCode第106题要求我们通过中序和后序遍历结果来重构二叉树。在JavaScript中,这是一个常见的算法问题,涉及到树的构造和递归的使用。 首先,需要理解...
java java_leetcode-110-balanced-binary-tree
java java_leetcode-maximum-depth-of-binary-tree
c语言入门 c语言_leetcode题解之1373_maximum_sum_bst_in_binary_tree
Construct Binary Tree from Preorder and Inorder Traversal 根据先序,中序建立二叉树
java java_leetcode-111-minimum-depth-of-binary-tree
"js-leetcode题解之98-validate-binary-search-tree.js"这道题目是关于如何在JavaScript中验证一个给定的二叉树是否为二叉搜索树的问题。这道题不仅考察了应聘者对二叉搜索树特性的掌握,也考察了他们运用JavaScript...
python python_leetcode题解之108_Convert_Sorted_Array_to_Binary_Search_Tree
在"binary tree traversal binary tree.doc"文档中,可能会详细探讨这些概念并给出具体的代码示例,包括如何实现这些遍历方法以及在不同场景下如何选择合适的二叉树结构。通过学习和理解这些内容,开发者能够更好地...
c语言入门 c语言_leetcode题解之1372_longest_zigzag_path_in_a_binary_tree
c语言-leetcode题解之0094-binary-tree-inorder-traversal.zip文件将为C语言学习者提供一次深入理解中序遍历算法并实践C语言编码的宝贵机会,尤其适合那些希望通过实际问题来提高编程技能的开发者。
BinaryTree-BinaryTree