面向答案C语言 2022-10-24 21:39 采纳率: 63.6%
浏览 47
已结题

力扣1008题:为何声明全局变量的时候还要在函数执行的时候再次初始化呢?


/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
int pos=0;
struct TreeNode* findSubtree(int start,int end, int *preorder,int max){
    if(start==end||preorder[start]>max) return NULL;
    struct TreeNode* root=malloc(sizeof(struct TreeNode));
    root->val=preorder[start];
    //int i=start+1;
    // while(i<end&&preorder[i]<root->val)
    // i++;
    pos++;
    root->left=findSubtree(start+1,end,preorder,root->val);
    root->right=findSubtree(pos,end,preorder,max);
    return root;
}
struct TreeNode* bstFromPreorder(int* preorder, int preorderSize){
pos=0;//为什么一定要在这里初始化pos才不会报错?不能直接初始化全局变量pos么?
return findSubtree(0,preorderSize,preorder,INT_MAX);
}

img

报错的图例
为什么一定要在 bstFromPreorder 这个函数中初始化pos才不会报错呢
第二个用例就报错了 我在测试用例那一块执行代码却不会有报错RTE
已提交他就显示RTE
感觉很奇怪

  • 写回答

2条回答 默认 最新

  • [小G] 2022-10-25 14:07
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月2日
  • 已采纳回答 10月25日
  • 创建了问题 10月24日

悬赏问题

  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥100 已有python代码,要求做成可执行程序,程序设计内容不多
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答