题目:
给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。
示例 1:
输入:root = [1,null,2,3]
输出:[3,2,1]
示例 2:
输入:root = []
输出:[]
示例 3:
输入:root = [1]
输出:[1]
来源:力扣(LeetCode)
链接:力扣
题解
C:
int* postorderTraversal(struct TreeNode* root, int* returnSize){
*returnSize = 0;
int *res = (int *)malloc(sizeof(int) * 501);
if(!root){
return res;
}
struct TreeNode *stk[501];
int top = -1;
struct TreeNode *prev = NULL;
while(root || top >= 0){
while(root){
stk[++top] = root;
root = root->left;
}
root = stk[top--];
if (!root->right|| root->right == prev) {
res[(*returnSize)++] = root->val;
prev = root;
root = NULL;
} else {
stk[++top] = root;
root = root->right;
}
}
return res;
}
文章来源:https://www.toymoban.com/news/detail-427811.html
文章来源地址https://www.toymoban.com/news/detail-427811.html
到了这里,关于【LeetCode】(力扣) c/c++刷题-145. 二叉树的后序遍历的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!