记录Leetcode刷题遇到的错误

程序代码(C++):

    bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) {
        int rows = matrix.size();
        int cols = matrix[0].size();
        if(rows == 0 || cols == 0) return false;
        return binarySearch(matrix, target, 0, cols - 1, rows, cols);
    }

报错代码:

执行出错信息:  Line 923: Char 9: runtime error: reference binding to null pointer of type 'std::vector<int, std::allocator<int> >' (stl_vector.h)
最后执行的输入:
[]
0

报错原因:

输入为空时的判断。当rows=0的时候,数组不存在元素,也就不存在matrix[0],matrix[0]产生越界。

程序修改:

    bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) {
        int rows = matrix.size();
        if(rows == 0) return false;
        int cols = matrix[0].size();
        if(cols == 0) return false;
        return binarySearch(matrix, target, 0, cols - 1, rows, cols);
    }

 

相关文章:

  • 2022-01-13
  • 2022-02-23
  • 2021-07-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-04
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-08
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案