leetcode - 两数之和Ⅳ 输入BST(653)
2024-09-06 06:12:25
题目描述:给定一个二叉搜索树和一个目标结果,如果 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
最新文章
- NoSql数据库初探-mongoDB读操作
- 如何给你的LinuxVPS装个远程桌面
- Kubernetes如何使用kube-dns实现服务发现
- 关于 微软必应词典客户端(pc) 的案例分析
- Sqlserver 存储过程中结合事务的代码
- Hibernate,JPA注解@ManyToMany_JoinTable
- Knockout.Js官网学习(click绑定)
- [iOS基础控件 - 5.2] 查看大图、缩放图片代码(UIScrollView制作)
- cf D. Vessels
- exploit writing tutorial 阅读笔记总结
- Mockito简介(转)
- C# 读取IE缓存文件(2)
- 使用Pechkin将HTML网页转换为PDF
- gulp环境搭建
- [MongoDB教程] 1.简介
- Java的内存管理机制之内存区域划分
- css 位置居中篇,flex布局【转】
- PAT A1012 The Best Rank (25 分)——多次排序,排名
- Intorduction To Computer Vision
- [Android Security] APK自我保护 - DEX/APK校验