/**
* 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;
}
会前序就会中序就会后序,注意每个题的数组长度不一样就欧克

京公网安备 11010502036488号