力扣==42==ERROR:AddressSanitizer: heap-buffer-overflow on address

出错原因数组越界,或者堆栈溢出。检查循环中的边界条件。
比如在数组nums中,判断和前一个元素是否相等。

for(int L =0; L<count;L ++)
{
   if(nums[L]==nums[L-1]{
   }
}

此时L从0开始,L-1=-1,出现数组越界。
那么应该在添加语句L>0,即

for(int L =0; L<count;L ++)
{
   if( L>0 && nums[L]==nums[L-1]{
   }
}

注意L>0写在nums[L]==nums[L-1]的前面,不然还是会出现数组越界的!!!!!!因为判断语句是自左向右的!!!

你可能感兴趣的:(LeetCode,leetcode,算法)