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 73ee7b8

Browse files
committed
Update binary_tree.md
1 parent f3ee7fd commit 73ee7b8

File tree

1 file changed

+31
-1
lines changed

1 file changed

+31
-1
lines changed

‎data_structure/binary_tree.md‎

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,14 @@
1515

1616
#### TreeNode 定义
1717

18+
```python
19+
class TreeNode:
20+
def __init__(self, val=0, left=None, right=None):
21+
self.val = val
22+
self.left = left
23+
self.right = right
24+
```
25+
1826
```cpp
1927
struct TreeNode{
2028
int val;
@@ -26,17 +34,35 @@ struct TreeNode{
2634
```
2735
2836
#### 前序递归
37+
```python
38+
# Definition for a binary tree node.
39+
# class TreeNode:
40+
# def __init__(self, val=0, left=None, right=None):
41+
# self.val = val
42+
# self.left = left
43+
# self.right = right
44+
class Solution:
45+
def preOrderRecursion(self, root, res):
46+
if root is None: return
47+
res.append(root.val) #调整append位置,就是前/中/后序遍历的差别
48+
self.preOrderRecursion(root.left, res)
49+
self.preOrderRecursion(root.right, res)
50+
def preorderTraversal(self, root: Optional[TreeNode]) -> List[int]:
51+
res = list()
52+
self.preOrderRecursion(root, res)
53+
return res
54+
```
2955

3056
```cpp
3157
//前中后序遍历只在这个函数有区别, 调整push_back的顺序
3258
void preOrderRecursion(TreeNode* root, vector<int>& res){
59+
if(root == nullptr) return {};
3360
res.push_back(root->val);
3461
preOrderRecursion(root->left, res);
3562
preOrderRecursion(root->right, res);
3663
}
3764

3865
vector<int> preOrderTraversal(TreeNode* root){
39-
if(root == nullptr) return {};
4066

4167
vector<int> res;
4268

@@ -46,7 +72,11 @@ vector<int> preOrderTraversal(TreeNode* root){
4672
}
4773
```
4874
75+
4976
#### 前序非递归
77+
```python
78+
79+
```
5080

5181
```cpp
5282
// 通过非递归遍历: 用栈进行辅助

0 commit comments

Comments
(0)

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