关于leetcode:二叉树的中序排列

37次阅读

共计 429 个字符,预计需要花费 2 分钟才能阅读完成。

1. 题目形容:

给出一棵二叉树, 返回其中序遍历。
输出:
二叉树 = {1,2,3}
输入:
[2,1,3]

2. 解题思路:

递归法
首先咱们须要理解什么是二叉树的中序遍历:依照拜访左子树——根节点——右子树的形式遍历这棵树,而在拜访左子树或者右子树的时候咱们依照同样的形式遍历,直到遍历完整棵树。因而整个遍历过程人造具备递归的性质,咱们能够间接用递归函数来模仿这一过程。

3. 代码示例:

class Solution {
public:
    void inorder(TreeNode* root, vector<int>& res) {if (!root) {return;}
        inorder(root->left, res);
        res.push_back(root->val);
        inorder(root->right, res);
    }
    vector<int> inorderTraversal(TreeNode* root) {
        vector<int> res;
        inorder(root, res);
        return res;
    }
};

正文完
 0