题目描述:给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。

解题思路:根据二叉搜索树的特点,对二叉搜索树进行中序遍历可以得到一个从小到达排列的列表,进而将该问题转换为“两数之和Ⅰ”,用双指针或者哈希表求解

因而这题的关键在于,二叉树中序遍历算法。

# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None class Solution:
def findTarget(self, root: TreeNode, k: int) -> bool:
#先中序遍历 得到一个列表
tree_list = []
def inOrder(root):
if root == None:
return None
inOrder(root.left)
tree_list.append(root.val)
inOrder(root.right)
inOrder(root)
#双指针
i = 0
j = len(tree_list)-1
while(i<j):
if (tree_list[i]+tree_list[j] == k):
return True
elif (tree_list[i]+tree_list[j] < k):
i += 1
else:
j -= 1
return False

最新文章

  1. NoSql数据库初探-mongoDB读操作
  2. 如何给你的LinuxVPS装个远程桌面
  3. Kubernetes如何使用kube-dns实现服务发现
  4. 关于 微软必应词典客户端(pc) 的案例分析
  5. Sqlserver 存储过程中结合事务的代码
  6. Hibernate,JPA注解@ManyToMany_JoinTable
  7. Knockout.Js官网学习(click绑定)
  8. [iOS基础控件 - 5.2] 查看大图、缩放图片代码(UIScrollView制作)
  9. cf D. Vessels
  10. exploit writing tutorial 阅读笔记总结
  11. Mockito简介(转)
  12. C# 读取IE缓存文件(2)
  13. 使用Pechkin将HTML网页转换为PDF
  14. gulp环境搭建
  15. [MongoDB教程] 1.简介
  16. Java的内存管理机制之内存区域划分
  17. css 位置居中篇,flex布局【转】
  18. PAT A1012 The Best Rank (25 分)——多次排序,排名
  19. Intorduction To Computer Vision
  20. [Android Security] APK自我保护 - DEX/APK校验

热门文章

  1. 连续(Continuity) - 有界(Bounded) - 收敛(Convergence)
  2. 2.12 学习总结 之 表单校验插件validate
  3. UVALive 6853(dp)
  4. Console-terminal-tty-shell-kernel
  5. vue-router 一个十分简单的应用场景
  6. [Codeforces]1263D Secret Passwords
  7. 1、MYSQL 数据库的安装与配置
  8. Python最新暴力破解WiFi,攻破所有密码限制,最强破解!
  9. Local-Pref(本地优先属性)路由本地优先术
  10. django-ckeditor使用