653. 两数之和 IV - 输入 BST
Posted hequnwang10
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了653. 两数之和 IV - 输入 BST相关的知识,希望对你有一定的参考价值。
一、题目描述
给定一个二叉搜索树 root 和一个目标结果 k,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。
示例 1:
输入: root = [5,3,6,2,4,null,7], k = 9
输出: true
示例 2:
输入: root = [5,3,6,2,4,null,7], k = 28
输出: false
二、解题
中序遍历
看到二叉搜索树就可以使用中序遍历,这样遍历出来的数据是有序的。然后对有序数组进行查找,使用双指针从头从尾开始遍历,看相加是否等于target。
class Solution
List<Integer> list = new ArrayList<>();
public boolean findTarget(TreeNode root, int k)
//二叉搜索树 使用中序遍历 将数据保存至列表中,升序,然后 使用双指针遍历
inorder(root);
int left = 0,high = list.size()-1;
while(left < high)
int sum = list.get(left) + list.get(high);
if(k == sum)
return true;
else if(k > sum)
left++;
else
high--;
return false;
public void inorder(TreeNode root)
if(root == null)
return ;
inorder(root.left);
list.add(root.val);
inorder(root.right);
以上是关于653. 两数之和 IV - 输入 BST的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode刷题100天—653. 两数之和 IV - 输入 BST( 二叉树)—day35
LeetCode 653 两数之和IV-输入BST[map 二叉树] HERODING的LeetCode之路
⭐算法入门⭐《二叉树 - 二叉搜索树》简单01 —— LeetCode 653. 两数之和 IV - 输入 BST
LeetCode 443. 压缩字符串 / 653. 两数之和 IV - 输入 BST / 235. 二叉搜索树的最近公共祖先