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 许可协议。转载请注明出处!