一.题目描述
给定一个二叉查找树和范围[k1, k2]。按照升序返回给定范围内的节点值。
https://www.lintcode.com/problem/11/description?utm_source=%5B%27sc-bky-sz-20nov%27%5D
二.代码
List<Integer> result = new ArrayList<>();
public List<Integer> searchRange(TreeNode root, int k1, int k2) {
travel(root, k1, k2);
return result;
}
private void travel(TreeNode root, int k1, int k2) {
if (root == null) {
return;
}
if (root.val > k1) {
travel(root.left, k1, k2);
}
if (k1 <= root.val && root.val <= k2) {
result.add(root.val);
}
if (root.val < k2) {
travel(root.right, k1, k2);
}
}
本文介绍如何在给定的二叉查找树中,通过递归方法搜索并返回指定范围 [k1, k2] 内的所有节点值。通过代码示例演示了如何遍历树结构并添加符合条件的节点值到结果列表。

437

被折叠的 条评论
为什么被折叠?



