输入:二叉树根节点 root
要求:
返回它的 中序遍历,即:
左子树 → 根节点 → 右子树
输出:vector<int>
思路:
-
先递归遍历左子树
-
然后访问当前节点(root->val)
-
最后递归遍历右子树
复杂度:
时间复杂度:O(n)
空间复杂度:O(n)
class Solution {
public:
void order(TreeNode* root, vector<int>& ans) {
if (!root) {
return;
}
order(root->left, ans);
ans.push_back(root->val);
order(root->right, ans);
return;
}
vector<int> inorderTraversal(TreeNode* root) {
vector<int> ans;
order(root, ans);
return ans;
}
};
1258

被折叠的 条评论
为什么被折叠?



