做题的时候又出了问题。
写的 code 发生 runtime error之前就遇到过这种,submit的结果和run code的结果不一样。
这说明代码存在隐患。
第一种情况:初始化
变量、指针没有初始化。 自己找一下。第二种情况:越界
有时会会是一种隐性错误。
以下代码就会发生越界,
int removeDuplicates(vector & nums) { if(nums.size()<=1){ return nums.size(); } int i=1, j=1; while(jnums[i-1]&&i
把其中的
while(nums[i]>nums[i-1]&&i
改为
while(inums[i-1]) i++; while(j <=nums[i-1]){ j++; }
即可利用&&判断的short circuit解决该错误。