在二叉搜索树中找到两个加起来为第三个数字的数字

Gee*_*eek 5 algorithm big-o

您将获得一个数字BST.您必须在其中找到两个数字(a,b),以便a + b = S在O(n)时间和O(1)空间中.

什么算法?

一种可能的方法是将两个BST转换为双向链接列表,然后从前端和尾端开始:

if front + end > S then end--
Run Code Online (Sandbox Code Playgroud)

要么:

if front + end < S then front++
Run Code Online (Sandbox Code Playgroud)