Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦境迷离
Cs Summary Reflection
提交
c5257f96
C
Cs Summary Reflection
项目概览
梦境迷离
/
Cs Summary Reflection
10 个月 前同步成功
通知
4
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
Cs Summary Reflection
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c5257f96
编写于
6月 15, 2020
作者:
梦境迷离
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add scala leetcode 653
上级
28a8aad6
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
62 addition
and
0 deletion
+62
-0
scala-leetcode/README.md
scala-leetcode/README.md
+1
-0
scala-leetcode/src/main/scala/io/github/dreamylost/BTT.scala
scala-leetcode/src/main/scala/io/github/dreamylost/BTT.scala
+1
-0
scala-leetcode/src/main/scala/io/github/dreamylost/Leetcode_653.scala
...de/src/main/scala/io/github/dreamylost/Leetcode_653.scala
+60
-0
未找到文件。
scala-leetcode/README.md
浏览文件 @
c5257f96
...
...
@@ -33,6 +33,7 @@ Leetcode Scala 实现
*
[
把二叉搜索树转换为累加树
](
./src/main/scala/io/github/dreamylost/Leetcode_538.scala
)
*
[
二叉树的坡度
](
./src/main/scala/io/github/dreamylost/Leetcode_563.scala
)
*
[
根据二叉树创建字符串
](
./src/main/scala/io/github/dreamylost/Leetcode_606.scala
)
*
[
两数之和 IV - 输入 BST
](
./src/main/scala/io/github/dreamylost/Leetcode_653.scala
)
## 链表
...
...
scala-leetcode/src/main/scala/io/github/dreamylost/BTT.scala
浏览文件 @
c5257f96
...
...
@@ -4,6 +4,7 @@ package io.github.dreamylost
import
java.util.
{
Queue
=>
_
}
//过期,以后使用List
import
scala.collection.immutable.Queue
import
scala.collection.immutable.Stack
...
...
scala-leetcode/src/main/scala/io/github/dreamylost/Leetcode_653.scala
0 → 100644
浏览文件 @
c5257f96
package
io.github.dreamylost
/**
* 653. 两数之和 IV - 输入 BST
*
* 给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。
*
* @author 梦境迷离 dreamylost
* @since 2020-06-15
* @version v1.0
*/
object
Leetcode_653
extends
App
{
val
ret
=
findTarget
(
TreeNodeData
.
treeData3_4
(),
4
)
println
(
ret
)
/**
* 2060 ms,16.67%
* 54.7 MB,100.00%
*
* @param root
* @param k
* @return
*/
def
findTarget
(
root
:
TreeNode
,
k
:
Int
)
:
Boolean
=
{
def
inorderTraversal
(
root
:
TreeNode
)
:
Seq
[
Int
]
=
{
var
ret
=
Seq
[
Int
]()
var
stack
=
List
[
TreeNode
]()
if
(
root
==
null
)
return
ret
var
cur
=
root
while
(
cur
!=
null
||
stack
.
nonEmpty
)
{
while
(
cur
!=
null
)
{
//头进头出模拟栈
stack
=
cur
::
stack
cur
=
cur
.
left
}
val
(
node
,
s
)
=
(
stack
.
head
,
stack
.
tail
)
stack
=
s
ret
=
ret
++
Seq
(
node
.
value
)
cur
=
node
.
right
}
ret
}
val
nums
=
inorderTraversal
(
root
)
var
i
=
0
var
j
=
nums
.
length
-
1
while
(
i
<
j
)
{
if
(
nums
(
i
)
+
nums
(
j
)
==
k
)
{
return
true
}
else
if
(
nums
(
i
)
+
nums
(
j
)
<
k
)
{
i
+=
1
}
else
{
j
-=
1
}
}
false
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录