Skip to content

Commit 6f3d44d

Browse files
committed
添加题701
1 parent a582731 commit 6f3d44d

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed

‎算法思维/二叉搜索树.md‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,21 @@ function helper(node: TreeNode | null, lower: number, upper: number): boolean{
2525
}
2626
```
2727

28+
##### [701. 二叉搜索树中的插入操作](https://leetcode-cn.com/problems/insert-into-a-binary-search-tree/)
29+
30+
给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。
31+
32+
```tsx
33+
function insertIntoBST(root:TreeNode|null, val:number):TreeNode|null{
34+
if (root===null){
35+
returnnewTreeNode(val)
36+
}
37+
if (root.val>val){
38+
root.left=insertIntoBST(root.left, val)
39+
} else{
40+
root.right=insertIntoBST(root.right, val)
41+
}
42+
returnroot
43+
};
44+
```
45+

‎算法思维/回溯法.md‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
## 回溯法
2+
3+
### 背景
4+
5+
回溯法(backtrack)常用于遍历列表所有子集,是 DFS 深度搜索一种,一般用于全排列,穷尽所有可能,遍历的过程实际上是一个决策树的遍历过程。时间复杂度一般 O(N!),它不像动态规划存在重叠子问题可以优化,回溯算法就是纯暴力穷举,复杂度一般都很高。
6+
7+
### 模板
8+
9+
```
10+
result = []
11+
func backtrack(选择列表,路径):
12+
if 满足结束条件:
13+
result.add(路径)
14+
return
15+
for 选择 in 选择列表:
16+
做选择
17+
backtrack(选择列表,路径)
18+
撤销选择
19+
```
20+
21+
核心就是从选择列表里做一个选择,然后一直递归往下搜索答案,如果遇到路径不通,就返回来撤销这次选择。
22+
23+
### 示例

0 commit comments

Comments
(0)