Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 9412e2e

Browse files
committed
添加 0700.二叉搜索树中的搜索.md Scala版本
1 parent 0e3a1bc commit 9412e2e

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

‎problems/0700.二叉搜索树中的搜索.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,34 @@ function searchBST(root: TreeNode | null, val: number): TreeNode | null {
363363
};
364364
```
365365

366+
## Scala
367+
368+
递归:
369+
```scala
370+
object Solution {
371+
def searchBST(root: TreeNode, value: Int): TreeNode = {
372+
if (root == null || value == root.value) return root
373+
// 相当于三元表达式,在Scala中if...else有返回值
374+
if (value < root.value) searchBST(root.left, value) else searchBST(root.right, value)
375+
}
376+
}
377+
```
366378

379+
迭代:
380+
```scala
381+
object Solution {
382+
def searchBST(root: TreeNode, value: Int): TreeNode = {
383+
// 因为root是不可变量,所以需要赋值给一个可变量
384+
var node = root
385+
while (node != null) {
386+
if (value < node.value) node = node.left
387+
else if (value > node.value) node = node.right
388+
else return node
389+
}
390+
null // 没有返回就返回空
391+
}
392+
}
393+
```
367394

368395
-----------------------
369396
<div align="center"><img src=https://code-thinking.cdn.bcebos.com/pics/01二维码一.jpg width=500> </img></div>

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /