您好,欢迎来到爱够旅游网。
搜索
您的当前位置:首页算法之二叉树的三种遍历

算法之二叉树的三种遍历

来源:爱够旅游网

// 前序遍历
void preorder(struct TreeNode* root, int *ret, int* returnSize)
{
    if(!root)
    {
        return;
    }
    ret[(*returnSize)++] = root->val;
    preorder(root->left, ret, returnSize);
    preorder(root->right, ret, returnSize);
}

int* preorderTraversal(struct TreeNode* root, int* returnSize) {
    int *ret=(int *)malloc(sizeof(int) * 2000);
    *returnSize = 0;
    preorder(root, ret, returnSize);
    return ret;
}

leetcode94
中序遍历

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
/**
 * Note: The returned array must be malloced, assume caller calls free().
 */

 void preorder(struct TreeNode* root, int *ret, int* returnSize)
{
    if(!root)
    {
        return;
    }
   
    preorder(root->left, ret, returnSize);
    ret[(*returnSize)++] = root->val;
    preorder(root->right, ret, returnSize);
    
}

int* inorderTraversal(struct TreeNode* root, int* returnSize) {
       int *ret=(int *)malloc(sizeof(int) * 2000);
    *returnSize = 0;
    preorder(root, ret, returnSize);
    return ret; 
}


后序遍历

void preorder(struct TreeNode* root, int *ret, int* returnSize)
{
    if(!root)
    {
        return;
    }
   
    preorder(root->left, ret, returnSize);
    preorder(root->right, ret, returnSize);
    ret[(*returnSize)++] = root->val;
}

int* postorderTraversal(struct TreeNode* root, int* returnSize) {
    int *ret=(int *)malloc(sizeof(int) * 2000);
    *returnSize = 0;
    preorder(root, ret, returnSize);
    return ret;
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务