美文网首页
[c语言算法]二叉树中序遍历

[c语言算法]二叉树中序遍历

作者: Ucan先生 | 来源:发表于2019-08-14 03:40 被阅读0次

递归法

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
    int inorder(struct TreeNode *root,int *arrRet,int *returnSize){
        if(root){
            inorder(root->left,arrRet,returnSize);
            arrRet[(*returnSize)++] = root->val;
            inorder(root->right,arrRet,returnSize);
        }
        return 0;
} 

/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
int* inorderTraversal(struct TreeNode* root, int* returnSize){
    int *arrRet = (int*)malloc(sizeof(int)*200);
    *returnSize = 0;
    inorder(root,arrRet,returnSize);
    return arrRet;
}

非递归

相关文章

  • 2018-11-19

    今天在电脑上用c语言实现了二叉树的创建,并且采用递归算法的形式进行二叉树的先序遍历和中序遍历以及后序遍历。

  • ALI 算法

    二叉树遍历算法: 按层遍历, 中序前序后序:

  • 二叉树的遍历

    二叉树的遍历 二叉树常用的遍历方式有:前序遍历、中序遍历、后序遍历、层序遍历四种遍历方式,不同的遍历算法,其思想略...

  • 二叉树遍历-JAVA实现

    基础二叉树 二叉树遍历分为前序、中序、后序递归和非递归遍历、还有层序遍历。 前序递归遍历算法:访问根结点-->递归...

  • LeetCode-94. 二叉树的中序遍历

    94. 二叉树的中序遍历 给定一个二叉树,返回它的中序 遍历。 示例: 进阶: 递归算法很简单,你可以通过迭代算法...

  • 二叉树遍历算法

    二叉树遍历算法有4种,先序、中序、后序和层序遍历 先序遍历:先根、后左、再右中序遍历:先左、后根、再右后序遍历:先...

  • 二叉树遍历算法

    摘要:二叉树主要有3种遍历算法,分为为先序、中序、后序。本文对二叉树的3种遍历算法的遍历规则进行介绍,并给出3种遍...

  • 数据结构实验2:二叉树的应用

    实验内容: 1.输入字符序列,建立二叉链表。2.中序遍历二叉树:递归算法。3.中序遍历二叉树:非递归算法。(最好也...

  • 算法-二叉树算法总结

    二叉树算法总结 1 二叉树的遍历 1.1 前序遍历 递归 迭代 1.2 中序遍历 递归 迭代 1.3 后序遍历 递...

  • 二叉树的中序遍历(Java)——Morris迭代算法

    二叉树的中序遍历 对于此题而言,若采用递归算法(简单),我们使用深度优先算法来遍历二叉树。若采用迭代算法,我们使用...

网友评论

      本文标题:[c语言算法]二叉树中序遍历

      本文链接:https://www.haomeiwen.com/subject/jdlarctx.html