就看我要到什麼時後才可以不要看解答Orz
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int inner(struct TreeNode* root, int level ,int *ret){
if (root==NULL)
return level;
ret[level] = root->val;
int left , right;
right = inner(root->left,level+1,ret);
left = inner(root->right, level+1,ret);
return (left>right)?(left):(right);
}
int* rightSideView(struct TreeNode* root, int* returnSize){
int *ret=calloc(100,sizeof(int));
int count=0;
count = inner (root, 0, ret);
*returnSize=count;
return ret;
}
沒有留言:
張貼留言