diff --git a/problems/0112.路径总和.md b/problems/0112.路径总和.md
index ecbefd90..e11384da 100644
--- a/problems/0112.路径总和.md
+++ b/problems/0112.路径总和.md
@@ -348,8 +348,32 @@ class Solution {
```
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:
+ def hasPathSum(self, root: TreeNode, targetSum: int) -> bool:
+ def isornot(root,targetSum)->bool:
+ if (not root.left) and (not root.right) and targetSum == 0:return True // 遇到叶子节点,并且计数为0
+ if (not root.left) and (not root.right):return False //遇到叶子节点,计数不为0
+ if root.left:
+ targetSum -= root.left.val //只有左节点
+ if isornot(root.left,targetSum):return True //递归,处理节点
+ targetSum += root.left.val //回溯
+ if root.right:
+ targetSum -= root.right.val //只有右节点
+ if isornot(root.right,targetSum):return True //递归,处理右节点
+ targetSum += root.right.val //回溯
+ return False
+
+ if root == None:return False //别忘记处理空TreeNode
+ else:return isornot(root,targetSum-root.val)
+```
Go:
JavaScript:
@@ -427,4 +451,4 @@ let pathSum = function (root, targetSum) {
* 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw)
* B站视频:[代码随想录](https://space.bilibili.com/525438321)
* 知识星球:[代码随想录](https://mp.weixin.qq.com/s/QVF6upVMSbgvZy8lHZS3CQ)
-
\ No newline at end of file
+
diff --git a/problems/0718.最长重复子数组.md b/problems/0718.最长重复子数组.md
index c20ea79f..f0f9a883 100644
--- a/problems/0718.最长重复子数组.md
+++ b/problems/0718.最长重复子数组.md
@@ -160,7 +160,28 @@ Python:
Go:
+```Go
+func findLength(A []int, B []int) int {
+ m, n := len(A), len(B)
+ res := 0
+ dp := make([][]int, m+1)
+ for i := 0; i <= m; i++ {
+ dp[i] = make([]int, n+1)
+ }
+ for i := 1; i <= m; i++ {
+ for j := 1; j <= n; j++ {
+ if A[i-1] == B[j-1] {
+ dp[i][j] = dp[i-1][j-1] + 1
+ }
+ if dp[i][j] > res {
+ res = dp[i][j]
+ }
+ }
+ }
+ return res
+}
+```
diff --git a/problems/二叉树的递归遍历.md b/problems/二叉树的递归遍历.md
index e8cf0bdd..937ef603 100644
--- a/problems/二叉树的递归遍历.md
+++ b/problems/二叉树的递归遍历.md
@@ -170,7 +170,53 @@ class Solution {
```
Python:
+```python3
+# 前序遍历-递归-LC144_二叉树的前序遍历
+class Solution:
+ def preorderTraversal(self, root: TreeNode) -> List[int]:
+ # 保存结果
+ result = []
+
+ def traversal(root: TreeNode):
+ if root == None:
+ return
+ result.append(root.val) # 前序
+ traversal(root.left) # 左
+ traversal(root.right) # 右
+ traversal(root)
+ return result
+
+# 中序遍历-递归-LC94_二叉树的中序遍历
+class Solution:
+ def inorderTraversal(self, root: TreeNode) -> List[int]:
+ result = []
+
+ def traversal(root: TreeNode):
+ if root == None:
+ return
+ traversal(root.left) # 左
+ result.append(root.val) # 中序
+ traversal(root.right) # 右
+
+ traversal(root)
+ return result
+
+# 后序遍历-递归-LC145_二叉树的后序遍历
+class Solution:
+ def postorderTraversal(self, root: TreeNode) -> List[int]:
+ result = []
+
+ def traversal(root: TreeNode):
+ if root == None:
+ return
+ traversal(root.left) # 左
+ traversal(root.right) # 右
+ result.append(root.val) # 后序
+
+ traversal(root)
+ return result
+```
Go: