题解 | #二叉树的后序遍历#
二叉树的后序遍历
https://www.nowcoder.com/practice/1291064f4d5d4bdeaefbf0dd47d78541
/**
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* };
*/
#include <vector>
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param root TreeNode类
* @return int整型vector
*/
void postorder(vector<int> &vec, TreeNode* root)
{
if (root == NULL) {
return;
}
//先遍历左子树
postorder(vec, root->left);
//再遍历右子树
postorder(vec, root->right);
//最后遍历根节点
vec.push_back(root->val);
}
vector<int> postorderTraversal(TreeNode* root) {
// write code here
vector<int> ans;
postorder(ans, root);
return ans;
}
};
今日第四道,按照后序遍历,左右根,遍历此树。
递归,左右根;
