描述
给你二叉树的根节点 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 许可协议。转载请注明出处!