在LeetCode上刷题的时候,本地运行正常且正确,但提交并运行时出现了报错
AddressSanitizer: stack-buffer-overflow on address 0x7ffe82398280 at pc 0x000000405a55 bp 0x7ffe82398050 sp 0x7ffe82398048
瞬间有点蒙,这不是简单题嘛?我的解法不挺简单的嘛?
题目链接: 498. 对角线遍历.
报错了的解答(删减版):
class Solution {
public:
vector<vector<int>> *pubMatrix;
vector<int> findDiagonalOrder(vector<vector<int>>& matrix) {
pubMatrix = &matrix;
……
while(exist(i, j)) {
……
}
return vec;
}
bool exist(int i, int j) {
return (pubMatrix->size() > i && pubMatrix[i].size() > j && i >= 0 && j >= 0);
}
};
这里我用了一个循环,普通的循环会导致stack-buffer-overflow
嘛?好像不会的吧?
如