Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
梦境迷离
Cs Summary Reflection
提交
d9d47d46
C
Cs Summary Reflection
项目概览
梦境迷离
/
Cs Summary Reflection
11 个月 前同步成功
通知
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,发现更多精彩内容 >>
提交
d9d47d46
编写于
6月 21, 2020
作者:
梦境迷离
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix scala BTT.scala warnings, add scala leetcode 965
上级
99541e43
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
63 addition
and
14 deletion
+63
-14
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
+16
-13
scala-leetcode/src/main/scala/io/github/dreamylost/Leetcode_501.scala
...de/src/main/scala/io/github/dreamylost/Leetcode_501.scala
+1
-1
scala-leetcode/src/main/scala/io/github/dreamylost/Leetcode_965.scala
...de/src/main/scala/io/github/dreamylost/Leetcode_965.scala
+45
-0
未找到文件。
scala-leetcode/README.md
浏览文件 @
d9d47d46
...
...
@@ -40,6 +40,7 @@ Leetcode Scala 实现
*
[
检查平衡性
](
./src/main/scala/io/github/dreamylost/Leetcode_Interview_0404.scala
)
*
[
叶子相似的树
](
./src/main/scala/io/github/dreamylost/Leetcode_872.scala
)
*
[
递增顺序查找树
](
./src/main/scala/io/github/dreamylost/Leetcode_897.scala
)
*
[
单值二叉树
](
./src/main/scala/io/github/dreamylost/Leetcode_965.scala
)
## 链表
...
...
scala-leetcode/src/main/scala/io/github/dreamylost/BTT.scala
浏览文件 @
d9d47d46
...
...
@@ -39,34 +39,36 @@ object BTT extends App {
}
//前,144. Binary Tree Preorder Traversal (Medium)
@unchecked
def
preorderTraversal
(
root
:
TreeNode
)
:
Seq
[
Int
]
=
{
var
ret
=
Seq
[
Int
]()
var
stack
=
Stack
[
TreeNode
]()
stack
=
stack
.
push
(
root
)
var
stack
=
List
[
TreeNode
]()
stack
=
root
::
stack
while
(
stack
.
nonEmpty
)
{
val
(
node
,
s
)
=
stack
.
pop2
val
(
node
,
s
)
=
stack
.
head
->
stack
.
tail
stack
=
s
if
(
node
!=
null
)
{
ret
=
ret
++
Seq
(
node
.
value
)
stack
=
stack
.
push
(
node
.
right
)
// 先右后左,保证左子树先遍历
stack
=
stack
.
push
(
node
.
left
)
stack
=
node
.
right
::
stack
// 先右后左,保证左子树先遍历
stack
=
node
.
left
::
stack
}
}
ret
}
//中, 94. Binary Tree Inorder Traversal (Medium)
@unchecked
def
inorderTraversal
(
root
:
TreeNode
)
:
Seq
[
Int
]
=
{
var
ret
=
Seq
[
Int
]()
var
stack
=
Stack
[
TreeNode
]()
var
stack
=
List
[
TreeNode
]()
if
(
root
==
null
)
return
ret
var
cur
=
root
while
(
cur
!=
null
||
stack
.
nonEmpty
)
{
while
(
cur
!=
null
)
{
stack
=
stack
.
push
(
cur
)
stack
=
cur
::
stack
cur
=
cur
.
left
}
val
(
node
,
s
)
=
stack
.
pop2
val
(
node
,
s
)
=
stack
.
head
->
stack
.
tail
stack
=
s
ret
=
ret
++
Seq
(
node
.
value
)
cur
=
node
.
right
...
...
@@ -79,17 +81,18 @@ object BTT extends App {
* 前序遍历为 root -> left -> right,后序遍历为 left -> right -> root。可以修改前序遍历成为 root -> right -> left,那么这个顺序就和后序遍历正好相反。
*/
//后,145. Binary Tree Postorder Traversal (Medium)
@unchecked
def
postorderTraversal
(
root
:
TreeNode
)
:
Seq
[
Int
]
=
{
var
ret
=
Seq
[
Int
]()
var
stack
=
Stack
[
TreeNode
]()
stack
=
stack
.
push
(
root
)
var
stack
=
List
[
TreeNode
]()
stack
=
root
::
stack
while
(
stack
.
nonEmpty
)
{
val
(
node
,
s
)
=
stack
.
pop2
val
(
node
,
s
)
=
stack
.
head
->
stack
.
tail
stack
=
s
if
(
node
!=
null
)
{
ret
=
ret
++
Seq
(
node
.
value
)
stack
=
stack
.
push
(
node
.
left
)
// 先右后左,保证左子树先遍历
stack
=
stack
.
push
(
node
.
right
)
stack
=
node
.
left
::
stack
// 先右后左,保证左子树先遍历
stack
=
node
.
right
::
stack
}
}
ret
.
reverse
...
...
scala-leetcode/src/main/scala/io/github/dreamylost/Leetcode_501.scala
浏览文件 @
d9d47d46
...
...
@@ -55,7 +55,7 @@ object Leetcode_501 extends App {
var
ret
=
Array
[
Int
]()
def
inOrder
(
root
:
TreeNode
)
:
Unit
=
{
if
(
root
==
null
)
return
;
if
(
root
==
null
)
return
inOrder
(
root
.
left
)
if
(
preNode
!=
null
&&
preNode
.
value
==
root
.
value
)
{
curCount
+=
1
...
...
scala-leetcode/src/main/scala/io/github/dreamylost/Leetcode_965.scala
0 → 100644
浏览文件 @
d9d47d46
package
io.github.dreamylost
/**
* 965. 单值二叉树
*
* 如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。
*
* 只有给定的树是单值二叉树时,才返回 true;否则返回 false。
*
* @author 梦境迷离 dreamylost
* @since 2020-06-21
* @version v1.0
*/
object
Leetcode_965
extends
App
{
val
ret
=
isUnivalTree
(
TreeNodeData
.
treeData3_5
())
println
(
ret
)
/**
* 记录当前节点的前缀即可
* 540 ms,100.00%
* 50.8 MB,100.00%
*
* @param root
* @return
*/
def
isUnivalTree
(
root
:
TreeNode
)
:
Boolean
=
{
var
ret
=
true
var
preNode
:
TreeNode
=
null
def
helper
(
r
:
TreeNode
)
:
Unit
=
{
if
(
r
==
null
)
return
helper
(
r
.
left
)
if
(
preNode
!=
null
&&
preNode
.
value
!=
r
.
value
)
{
ret
=
false
}
preNode
=
r
helper
(
r
.
right
)
}
helper
(
root
)
ret
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录