给定一个二叉树的根节点 root
,返回 它的 中序 遍历 。
思路一:模拟题意
void inorder(struct TreeNode*root,int* ans,int *resSize)
{if(!root){return ;}inorder(root->left,ans,resSize);ans[(*resSize)++] = root->val;inorder(root->right,ans,resSize);
}int* inorderTraversal(struct TreeNode* root, int* returnSize){int*ans = malloc(sizeof(int)*501);*returnSize = 0;inorder(root,ans,returnSize);return ans;}
分析:
本题要求二叉树的中序遍历,即按照递归的方法将每个左子树输出返回中值
总结:
本题考察二叉树的中序遍历,有递归和非递归两种解法,此处给出递归解法