力扣---二叉树的前序遍历

力扣—二叉树的前序遍历

题目要求:
给你二叉树的根节点 root ,返回它节点值的前序遍历。
(题目来源:力扣)
力扣---二叉树的前序遍历_第1张图片
力扣---二叉树的前序遍历_第2张图片

int TreeSize(struct TreeNode* root)
 {
        return root == NULL? 0 : TreeSize(root->left)+TreeSize(root->right)+1;   
 }
 void preorder(struct TreeNode* root,int* arr,int* i)
 {
     if(root == NULL)
        return 0;
    a[(*i)++] = root->val;
    preorder(root->left,arr,i);
    preorder(root->right,arr,i);
 } 
int* preorderTraversal(struct TreeNode* root, int* returnSize){
    *returnSize = TreeSize(root);
    int* arr = (int *)malloc(sizeof(int)* (*returnSize)); 
    int i = 0;
    preorder(root,arr,&i);
    return arr;

}

你可能感兴趣的:(数据结构,二叉树,leetcode,算法,数据结构)