Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦境迷离
Cs Summary Reflection
提交
67d3c911
C
Cs Summary Reflection
项目概览
梦境迷离
/
Cs Summary Reflection
9 个月 前同步成功
通知
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 搜索 >>
提交
67d3c911
编写于
6月 16, 2020
作者:
梦境迷离
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add scala leetcode 669 *
上级
87a1c0be
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
77 addition
and
0 deletion
+77
-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
+14
-0
scala-leetcode/src/main/scala/io/github/dreamylost/Leetcode_669.scala
...de/src/main/scala/io/github/dreamylost/Leetcode_669.scala
+46
-0
scala-leetcode/src/main/scala/io/github/dreamylost/TreeNode.java
...eetcode/src/main/scala/io/github/dreamylost/TreeNode.java
+6
-0
scala-leetcode/src/main/scala/io/github/dreamylost/TreeNodeData.scala
...de/src/main/scala/io/github/dreamylost/TreeNodeData.scala
+10
-0
未找到文件。
scala-leetcode/README.md
浏览文件 @
67d3c911
...
...
@@ -34,6 +34,7 @@ Leetcode 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
)
*
[
修剪二叉搜索树
](
./src/main/scala/io/github/dreamylost/Leetcode_669.scala
)
## 链表
...
...
scala-leetcode/src/main/scala/io/github/dreamylost/BTT.scala
浏览文件 @
67d3c911
...
...
@@ -114,4 +114,18 @@ object BTT extends App {
list
}
//根据中序的有序数组构造二叉树
def
buildSearchTree
(
values
:
Seq
[
Int
],
l
:
Int
,
r
:
Int
)
:
TreeNode
=
{
if
(
l
>
r
)
{
return
null
}
if
(
l
==
r
)
{
new
TreeNode
(
values
(
l
))
}
val
mid
=
l
+
(
r
-
l
)
/
2
val
root
=
new
TreeNode
(
values
(
mid
))
root
.
left
=
buildSearchTree
(
values
,
l
,
mid
-
1
)
root
.
right
=
buildSearchTree
(
values
,
mid
+
1
,
r
)
root
}
}
scala-leetcode/src/main/scala/io/github/dreamylost/Leetcode_669.scala
0 → 100644
浏览文件 @
67d3c911
package
io.github.dreamylost
/**
* 669. 修剪二叉搜索树
*
* 给定一个二叉搜索树,同时给定最小边界L 和最大边界 R。通过修剪二叉搜索树,使得所有节点的值在[L, R]中 (R>=L) 。
* 你可能需要改变树的根节点,所以结果应当返回修剪好的二叉搜索树的新的根节点。
*
* @author 梦境迷离 dreamylost
* @since 2020-06-16
* @version v1.0
*/
object
Leetcode_669
extends
App
{
val
ret
=
trimBST
(
TreeNodeData
.
treeData3_5
(),
1
,
2
)
println
(
ret
)
/**
* 修剪BST树,其步骤为:
* 若为空树,返回NULL;
* 否则:
* 1.先修剪根,若根的值不在[L,R]范围内,则执行如下循环:
* 若根小于下限L,必然有其左子树结点全部小于L,放弃根和左子树,使右子树的根成为新树的根。
* 大于上限R的情况同理。最后结束时,要么根为空,要么根的值在[L,R]中。
* 2.递归修剪左子树。
* 3.递归修建右子树。
*
* @param root
* @param L
* @param R
* @return
*/
def
trimBST
(
root
:
TreeNode
,
L
:
Int
,
R
:
Int
)
:
TreeNode
=
{
if
(
root
==
null
)
return
null
if
(
root
.
value
<
L
)
{
return
trimBST
(
root
.
right
,
L
,
R
)
}
if
(
root
.
value
>
R
)
{
return
trimBST
(
root
.
left
,
L
,
R
)
}
root
.
left
=
trimBST
(
root
.
left
,
L
,
R
)
root
.
right
=
trimBST
(
root
.
right
,
L
,
R
)
root
}
}
scala-leetcode/src/main/scala/io/github/dreamylost/TreeNode.java
浏览文件 @
67d3c911
...
...
@@ -8,6 +8,12 @@ public class TreeNode {
public
int
value
=
0
;
public
TreeNode
left
=
null
;
@Override
public
String
toString
()
{
return
"TreeNode{"
+
"value="
+
value
+
", left="
+
left
+
", right="
+
right
+
'}'
;
}
public
TreeNode
right
=
null
;
public
TreeNode
(
int
val
)
{
...
...
scala-leetcode/src/main/scala/io/github/dreamylost/TreeNodeData.scala
浏览文件 @
67d3c911
...
...
@@ -59,6 +59,16 @@ object TreeNodeData {
root
}
//搜索树
def
treeData3_5
()
:
TreeNode
=
{
val
root
=
new
TreeNode
(
1
)
val
r1
=
new
TreeNode
(
2
)
val
l1
=
new
TreeNode
(
0
)
root
.
right
=
r1
root
.
left
=
l1
root
}
def
treeData5_1
()
:
TreeNode
=
{
val
n1
=
new
TreeNode
(
1
)
val
n2
=
new
TreeNode
(
2
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录