本题要求在二叉搜索树(BST)中,按闭区间 [low, high] 统计账户编号之和,并将结果乘以 100(因为存款=账户编号×100)。核心利用 BST 的有序性进行“剪枝”搜索(Range Sum in BST):
v < low,则整棵左子树都小于区间下限,不可能贡献答案,只需进入右子树;v > high,则整棵右子树都大于区间上限,不可能贡献答案,只需进入左子树;low ≤ v ≤ high,则当前结点贡献 v,左右子树都可能有贡献,继续分别遍历。算法可以用递归或显式栈的迭代实现。为避免栈溢出及只使用基础语法,这里给出显式栈迭代版本。最终把区间内编号和乘以 100 即为区间存款总额。
银行的核心系统采用二叉搜索树存储客户存款账户信息,以便于快速查询和资金分析。这些账户信息按照账户编号 (accountNo.)
本题属于以下题库,请选择所需题库进行购买
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.