编辑
2023-09-12
题库
0

目录

中序遍历
后序遍历

描述 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。

数据范围:二叉树的节点数量满足 1≤n≤100

1≤n≤100 ,二叉树节点的值满足 1≤val≤100

1≤val≤100 ,树的各节点的值各不相同 示例 1:

示例1 输入: {1,#,2,3} 返回值: [1,2,3]

c++
/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * }; */ class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return int整型vector */ void preorder(vector<int>&res,TreeNode* root){ if(root==NULL){ return; } res.push_back(root->val); preorder(res, root->left); preorder(res,root->right); } vector<int> preorderTraversal(TreeNode* root) { // write code here vector<int>res; preorder(res, root); return res; } };

中序遍历

c++
/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * }; */ class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return int整型vector */ void inorder(vector<int>&res,TreeNode* root){ if(root==NULL){ return; } inorder(res, root->left); res.push_back(root->val); inorder(res, root->right); } vector<int> inorderTraversal(TreeNode* root) { // write code here vector<int>res; inorder(res, root); return res; } };

后序遍历

c++
/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * }; */ class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return int整型vector */ void postorder(vector<int>&res,TreeNode *root){ if(root==NULL){ return; } postorder(res, root->left); postorder(res, root->right); res.push_back(root->val); } vector<int> postorderTraversal(TreeNode* root) { // write code here vector<int>res; postorder(res,root); return res; } };

本文作者:墨洺的文档

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!