二叉树的前序遍历

xiaoxiao2022-06-11  25

链接:

https://leetcode-cn.com/problems/binary-tree-preorder-traversal/description/

问题描述:

/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */ /** * Return an array of size *returnSize. * Note: The returned array must be malloced, assume caller calls free(). */ int GetTreeSize(struct TreeNode* root) { if(root == NULL) { return 0; } else { return GetTreeSize(root->left) + GetTreeSize(root->right) + 1; } } void _preorderTraversal(struct TreeNode* root, int* array,int* pIndex) { if(root == NULL) return; array[*pIndex] = root->val; (*pIndex)++; _preorderTraversal(root->left, array, pIndex); _preorderTraversal(root->right, array, pIndex); } int* preorderTraversal(struct TreeNode* root, int* returnSize) { *returnSize = GetTreeSize(root); int* array = (int*)malloc(*returnSize*sizeof(int)); int Index; _preorderTraversal(root, array, &Index); return array; }

 

转载请注明原文地址: https://www.6miu.com/read-4932005.html

最新回复(0)