mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
Merge pull request #716 from KingArthur0205/remote
添加 二叉树的递归遍历.md C语言版本
This commit is contained in:
@ -360,8 +360,56 @@ var postorderTraversal = function(root) {
|
||||
};
|
||||
```
|
||||
|
||||
C:
|
||||
```c
|
||||
//前序遍历:
|
||||
void preOrderTraversal(struct TreeNode* root, int* ret, int* returnSize) {
|
||||
if(root == NULL)
|
||||
return;
|
||||
ret[(*returnSize)++] = root->val;
|
||||
preOrderTraverse(root->left, ret, returnSize);
|
||||
preOrderTraverse(root->right, ret, returnSize);
|
||||
}
|
||||
|
||||
int* preorderTraversal(struct TreeNode* root, int* returnSize){
|
||||
int* ret = (int*)malloc(sizeof(int) * 100);
|
||||
*returnSize = 0;
|
||||
preOrderTraversal(root, ret, returnSize);
|
||||
return ret;
|
||||
}
|
||||
|
||||
//中序遍历:
|
||||
void inOrder(struct TreeNode* node, int* ret, int* returnSize) {
|
||||
if(!node)
|
||||
return;
|
||||
inOrder(node->left, ret, returnSize);
|
||||
ret[(*returnSize)++] = node->val;
|
||||
inOrder(node->right, ret, returnSize);
|
||||
}
|
||||
|
||||
int* inorderTraversal(struct TreeNode* root, int* returnSize){
|
||||
int* ret = (int*)malloc(sizeof(int) * 100);
|
||||
*returnSize = 0;
|
||||
inOrder(root, ret, returnSize);
|
||||
return ret;
|
||||
}
|
||||
|
||||
//后序遍历:
|
||||
void postOrder(struct TreeNode* node, int* ret, int* returnSize) {
|
||||
if(node == NULL)
|
||||
return;
|
||||
postOrder(node->left, ret, returnSize);
|
||||
postOrder(node->right, ret, returnSize);
|
||||
ret[(*returnSize)++] = node->val;
|
||||
}
|
||||
|
||||
int* postorderTraversal(struct TreeNode* root, int* returnSize){
|
||||
int* ret= (int*)malloc(sizeof(int) * 100);
|
||||
*returnSize = 0;
|
||||
postOrder(root, ret, returnSize);
|
||||
return ret;
|
||||
}
|
||||
```
|
||||
|
||||
-----------------------
|
||||
* 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw)
|
||||
|
Reference in New Issue
Block a user