手机app开发软件免费百度关键词优化平台
题目
- 二叉树的中序遍历
给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。
示例 1:
输入:root = [1,null,2,3]
输出:[1,3,2]
示例 2:
输入:root = []
输出:[]
示例 3:
输入:root = [1]
输出:[1]
来源:力扣热题100 94. 二叉树的中序遍历
思路(注意事项)
模板
纯代码
class Solution {
private:vector<int> ans;void inorder (TreeNode* root){if (root == nullptr) return;inorder(root -> left);ans.push_back(root -> val);inorder(root -> right);}
public:vector<int> inorderTraversal(TreeNode* root) {inorder (root);return ans;}
};
题解(加注释)
class Solution {
private:vector<int> ans; // 用于存储中序遍历结果的数组// 中序遍历递归函数void inorder(TreeNode* root) {// 如果当前节点为空,直接返回if (root == nullptr) return;// 递归遍历左子树inorder(root->left);// 将当前节点的值加入结果数组ans.push_back(root->val);// 递归遍历右子树inorder(root->right);}public:vector<int> inorderTraversal(TreeNode* root) {// 调用中序遍历函数inorder(root);// 返回中序遍历结果return ans;}
};