题解 | #二叉树的中序遍历#

二叉树的中序遍历

https://www.nowcoder.com/practice/0bf071c135e64ee2a027783b80bf781d

/**
 * struct TreeNode {
 *	int val;
 *	struct TreeNode *left;
 *	struct TreeNode *right;
 * };
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param root TreeNode类 
 * @return int整型一维数组
 * @return int* returnSize 返回数组行数
 */
 #include <stdio.h>
void inorder(struct TreeNode* cur, int*ret,int * returnSize) {
        if (cur == NULL) return;//先判断当前节点是否为空
        inorder(cur->left, ret , returnSize);  // 左递归
        ret[*returnSize]=cur->val; 
         //  存储cur节点
        (*returnSize)++;//存储组加一

        inorder(cur->right, ret , returnSize); // 右递归
}
int* inorderTraversal(struct TreeNode* root, int* returnSize ) {
    int *ret=(int*)malloc(sizeof(int )*1000);//为ret数组分配空间
       *returnSize=0;//数组长度
       inorder(root, ret,returnSize);//引用函in数;
       return ret;
}

会前序就会中序就会后序,注意每个题的数组长度不一样就欧克

全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务