建设静态网站,wordpress 列表,余姚网站如何进行优化,像素时代网站建设手机站设计本篇博客会讲解力扣“145. 二叉树的后序遍历”的解题思路#xff0c;这是题目链接。 本题的思路是#xff1a;
先创建一个数组#xff0c;用来存储二叉树后序遍历的结果。数组的大小跟树的结点个数有关。树的结点个数可以使用递归实现#xff0c;即总个数左子树结点个数右…
本篇博客会讲解力扣“145. 二叉树的后序遍历”的解题思路这是题目链接。 本题的思路是
先创建一个数组用来存储二叉树后序遍历的结果。数组的大小跟树的结点个数有关。树的结点个数可以使用递归实现即总个数左子树结点个数右子树结点个数1。接着实现后序遍历。先遍历左子树再遍历右子树最后遍历根节点把遍历的结果存储在返回数组里。
int TreeSize(struct TreeNode* root)
{return root NULL ? 0 :TreeSize(root-left) TreeSize(root-right) 1;
}void _postorderTraversal(struct TreeNode* root, int* ret, int* pi)
{if (root NULL){return;}// 左子树 右子树 根_postorderTraversal(root-left, ret, pi);_postorderTraversal(root-right, ret, pi);ret[(*pi)] root-val;
}int* postorderTraversal(struct TreeNode* root, int* returnSize){*returnSize TreeSize(root);int* ret (int*)malloc(sizeof(int) * *returnSize);int i 0;_postorderTraversal(root, ret, i);return ret;
}总结
后序遍历先遍历左子树再遍历右子树最后遍历根结点。
感谢大家的阅读