思路
1、左右非空则先记录左右, 最后在记录自身
2、迭代法,需要建立struct TreeNode stack,记录父节点,知道怎么写就行,不一定非要按照它说的那样(没写过的,建议试一试,也是一种新思路)
代码
void Func(struct TreeNode* p,int* ret,int* pos){
if(p==NULL) return;
Func(p->left,ret,pos);
Func(p->right,ret,pos);
ret[(*pos)++]=p->val;
}
int* postorderTraversal(struct TreeNode* root, int* returnSize){
int* ret=(int*)malloc(sizeof(int)*100);
*returnSize=0;
Func(root,ret,returnSize);
return ret;
}