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; }};