有人可以解释为什么如果我在行中省略分号while(nums[right-1] == nums[right--]);
会出现语法错误吗?我一般理解分号的意义,但为什么这个特定行而不是其他行?
var threeSum = function(nums) {
nums.sort((a,b)=>a-b);
let result = [];
for (let i=0;i<nums.length;i++) {
let t = -nums[i];
let left = i+1, right = nums.length-1;
while(left < right) {
if (nums[left] + nums[right] == t) {
result.push([nums[i], nums[left], nums[right]]);
while(nums[left+1] == nums[left++]);
while(nums[right-1] == nums[right--]);
} else if (nums[left]+nums[right] < t) left++;
else right--;
}
while(nums[i+1]==nums[i]) i++
}
return result;
};