二叉树的OJ题——6.前序遍历
2023-12-26 19:03:50
/* 解题思路: 此题要保存节点,所以需要先获取节点个数,然后进行前序遍历,保存每一个节点值。 */ //节点个数 = 左右子树节点个数 + 1
int BinaryTreeSize(struct TreeNode* root)
{
return root == NULL ? 0 : BinaryTreeSize(root->left) + BinaryTreeSize(root->right) + 1;
}
void PreOrder(struct TreeNode* root,int* array,int* i)
{
if (root == NULL)
{
return;
}
array[(*i)++]=root->val;
PreOrder(root->left,array,i);
PreOrder(root->right,array,i);
}
int* preorderTraversal(struct TreeNode* root, int* returnSize)
{
* returnSize=BinaryTreeSize(root);
int * array=(int *)malloc( sizeof(int) * (*returnSize) );
int i=0;
PreOrder(root,array,i);
return array;
}
?
文章来源:https://blog.csdn.net/2301_76653277/article/details/135228152
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!