mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 19:44:45 +08:00
Update 0700.二叉搜索树中的搜索.md
更改代码符合PEP 8 规范.
This commit is contained in:
@ -212,17 +212,20 @@ Python:
|
|||||||
递归法:
|
递归法:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
# Definition for a binary tree node.
|
|
||||||
# class TreeNode:
|
|
||||||
# def __init__(self, val=0, left=None, right=None):
|
|
||||||
# self.val = val
|
|
||||||
# self.left = left
|
|
||||||
# self.right = right
|
|
||||||
class Solution:
|
class Solution:
|
||||||
def searchBST(self, root: TreeNode, val: int) -> TreeNode:
|
def searchBST(self, root: TreeNode, val: int) -> TreeNode:
|
||||||
if not root or root.val == val: return root //为空或者已经找到都是直接返回root,所以合并了
|
# 为什么要有返回值:
|
||||||
if root.val > val: return self.searchBST(root.left,val) //注意一定要加return
|
# 因为搜索到目标节点就要立即return,
|
||||||
else: return self.searchBST(root.right,val)
|
# 这样才是找到节点就返回(搜索某一条边),如果不加return,就是遍历整棵树了。
|
||||||
|
|
||||||
|
if not root or root.val == val:
|
||||||
|
return root
|
||||||
|
|
||||||
|
if root.val > val:
|
||||||
|
return self.searchBST(root.left, val)
|
||||||
|
|
||||||
|
if root.val < val:
|
||||||
|
return self.searchBST(root.right, val)
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user