leetcode做题笔记145. 二叉树的后序遍历

给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 

思路一:递归

c语言解法

void postorder(struct TreeNode *root, int *res, int *resSize) {
    if (root == NULL) {
        return;
    }
    postorder(root->left, res, resSize);
    postorder(root->right, res, resSize);
    res[(*resSize)++] = root->val;
}

int *postorderTraversal(struct TreeNode *root, int *returnSize) {
    int *res = malloc(sizeof(int) * 2001);
    *returnSize = 0;
    postorder(root, res, returnSize);
    return res;
}

分析:

本题要求二叉树的后序遍历,与上题相同,可以使用递归的方法,先输出左子树,后输出右子树,最后输出根节点即可

总结:

本题考察二叉树的后序遍历,利用递归,LRD的顺序输出即可

你可能感兴趣的:(二叉树,leetcode,笔记,算法)