做网站维护的人叫啥,wordpress中文切换,浙江省建设信息港官网首页,青岛网站设计哪家1.题目#xff1a;
给你一棵二叉树的根节点 root #xff0c;返回其节点值的后序遍历。 2.原理#xff1a;
这里的遍历#xff0c;是要存入到数组中#xff0c;所以需要建立数组#xff0c;这里传参有*returnSize#xff0c;需要求节点个数#xff0c;可以调用前面Tr…1.题目
给你一棵二叉树的根节点 root 返回其节点值的后序遍历。 2.原理
这里的遍历是要存入到数组中所以需要建立数组这里传参有*returnSize需要求节点个数可以调用前面TreeSize函数小编前面树的实现里面有这里要传入记录数组元素个数后面运用递归向下递归直到空节点当左右节点回退都为零然后存入这个节点直到回退到根节点。
3.整体代码
/*** 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().*/
typedef struct TreeNode TreeNode;int TreeSize(TreeNode*root){if(rootNULL){return 0;}return 1TreeSize(root-left)TreeSize(root-right);}void PreOrder(TreeNode*root,int*arr,int*i)
{if(rootNULL){return;}PreOrder(root-left,arr,i);PreOrder(root-right,arr,i);arr[(*i)]root-val;
}
int* postorderTraversal(struct TreeNode* root, int* returnSize) {*returnSizeTreeSize(root);int*arr(int*)malloc(sizeof(int)*(*returnSize));int num0;PreOrder(root,arr,num);return arr;
}