leetcode 94. Binary Tree Inorder Traversal

来源:互联网 发布:h3c dhcp ip mac绑定 编辑:程序博客网 时间:2024/05/22 17:30

原题:

Given a binary tree, return the inorder traversal of its nodes' values.

For example:
Given binary tree [1,null,2,3],

   1    \     2    /   3

return [1,3,2].

Note: Recursive solution is trivial, could you do it iteratively?

代码如下:

/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     struct TreeNode *left; *     struct TreeNode *right; * }; *//** * Return an array of size *returnSize. * Note: The returned array must be malloced, assume caller calls free(). */int* inorderTraversal(struct TreeNode* root, int* returnSize) {    void A(struct TreeNode* root, int* returnSize,int* arrays);    int* arrays;    arrays=(int*)malloc(sizeof(int)*10000);    A(root,returnSize,arrays);    return arrays;}void A(struct TreeNode* root, int* returnSize,int* arrays){    if(root==NULL)        return ;    A(root->left,returnSize,arrays);    *(arrays+*returnSize)=root->val;    (*returnSize)++;    A(root->right,returnSize,arrays);}

就是中序遍历的简单算法而已,没有啥太多可说的。