防城港门面做网站的,ui设计培训平台,学校建设网站的意义,电影资源网站怎么做的问题描述
给你二叉树的根节点 root #xff0c;返回它节点值的 前序 遍历。
问题分析
因为要以数组的形式返回前序遍历序列所以与普通的前序遍历多了一步将返回的数组合并的过程#xff0c;将当前二叉树的左子树#xff0c;根#xff0c;右子树按照顺序合并成为一个数组…问题描述
给你二叉树的根节点 root 返回它节点值的 前序 遍历。
问题分析
因为要以数组的形式返回前序遍历序列所以与普通的前序遍历多了一步将返回的数组合并的过程将当前二叉树的左子树根右子树按照顺序合并成为一个数组之后再依次返回上层进行合并即可这是一个递归的过程。
代码
int* preorderTraversal(struct TreeNode* root, int* returnSize) {if(root!NULL){int *left preorderTraversal(root-left, returnSize);int leftLength *returnSize; int *right preorderTraversal(root-right, returnSize);int rightLength *returnSize;int num leftLength rightLength;int *answer (int *)malloc(sizeof(int)*(num1));int k 0;answer[k] root-val;for(int i0; ileftLength; i){answer[k] left[i];}for(int i0; irightLength; i){answer[k] right[i];}free(left);free(right);left NULL;right NULL;*returnSize num1;return answer;}*returnSize 0;return NULL;
}提交结果截图