只要是两数之和的题,一定要记得先尝试用HashSet来做!!!!!!!
我们遍历二叉树就行,然后用一个 HashSet,在递归函数函数中,如果 root 为空,返回 false。如果 k 减去当前结点值在 HashSet 中存在,直接返回 true;否则就将当前结点值加入 HashSet,然后对左右子结点分别调用递归函数并且或起来返回即可。
最简单的方法,对树进行中序遍历,这样得到的数组就是有序的,然后双指针移动计算两个元素的和。
我们遍历二叉树就行,然后用一个 HashSet,在递归函数函数中,如果 root 为空,返回 false。如果 k 减去当前结点值在 HashSet 中存在,直接返回 true;否则就将当前结点值加入 HashSet,然后对左右子结点分别调用递归函数并且或起来返回即可。
最简单的方法,对树进行中序遍历,这样得到的数组就是有序的,然后双指针移动计算两个元素的和。