LeetCode 496下一个更大元素,为什么运行结果会出现这种错误?

作者站长头像
站长
· 阅读数 7

题目描述:LeetCode 496下一个更大元素,为什么运行结果会出现这种错误?我的代码:

int* nextGreaterElement(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize) {
    int* res = (int*)malloc(nums1Size * sizeof(int)); // 为结果数组分配内存
    int hashmap[10000];
    int st[nums2Size]; // 使用数组实现栈
    int stTop = -1; // 栈顶指针的初始值为-1,表示栈为空
        
    // 计算nums2中每个元素的"下一个更大元素"并保存到hashmap中
    for (int i = nums2Size - 1; i >= 0; --i) {
        int num = nums2[i];
        while (stTop >= 0 && num >= st[stTop]) {
            // 如果栈不为空且当前元素比栈顶元素大,则出栈
            --stTop;
        }
        hashmap[num] = stTop < 0 ? -1 : st[stTop];
        // 将当前元素入栈
        st[++stTop] = num;
    }
        
    // 根据nums1中的元素在hashmap中查找对应的"下一个更大元素"
    for (int i = 0; i < nums1Size; ++i) {
        res[i] = hashmap[nums1[i]];
    }
        
    return res; // 返回结果数组的指针
}

运行错误:LeetCode 496下一个更大元素,为什么运行结果会出现这种错误?为什么运行结果只有一个右括号

在VS 2022上可以正常运行,但是在leetcode的编译器上就会报错。

回复
1个回答
avatar
test
2024-06-24

returnSize 你没有给赋值

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容