阅读背景:

LeetCode-199-二叉树的右视图-C语言_SFFS

来源:互联网 
typedef struct TreeNode Node;

#define LEN 0xffff

void set(Node *node, int level, int *arr, int *max){
    if(!node) return;
    
    if(level > *max) (*max) = level;
    
    arr[level] = (arr[level]==INT_MAX) ? node->val : arr[level];
    
    set(node->right, level+1, arr, max);
    set(node->left, level+1, arr, max);
    
}

int* rightSideView(struct TreeNode* root, int* returnSize){
    int *arr = (int *)malloc(sizeof(int) * LEN);
    int max = 0;
    int i;
    
    for(i=0; i<LEN; i++) arr[i] = INT_MAX;
    
    set(root, 0, arr, &max);
    
    *returnSize = !root ? 0 : ( max + 1);
    
    return arr;
    
}
typedef struct TreeNode Node;

#define L



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: