题解 | #牛牛的二叉树后序遍历#
牛牛的二叉树后序遍历
https://www.nowcoder.com/practice/2f5daf5a5ed34572860266462ba21cad
前序遍历/中序遍历/后序遍历 是针对root结点来描述的,所以最后在加入根结点的值即可。同理前序遍历即先加入根结点值,中序中序遍历在遍历左结点之后右节点之前加入结点值。
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param root TreeNode类
* @return int整型vector
*/
vector<int> ret; // 存储后序遍历结果的数组
vector<int> postorderTraversal(TreeNode* root) {
post(root); // 调用辅助函数进行后序遍历
return ret; // 返回遍历结果
}
void post(TreeNode* root) {
if (root == nullptr) return; // 如果节点为空,则直接返回
postorderTraversal(root->left); // 递归遍历左子树
postorderTraversal(root->right); // 递归遍历右子树
ret.push_back(root->val); // 将当前节点的值存入结果数组
}
};
刷题笔记啊 文章被收录于专栏
这是我的刷题笔记。