代码拉取完成,页面将自动刷新
class Solution
{
public:
vector<vector<int> > threeSum(vector<int> &num)
{
vector<vector<int> > result;
if(num.size() == 0)
return result;
sort(num.begin(),num.end());
for( int pos1 = 0;pos1<num.size();pos1++)
{
for(int pos2 = pos1 + 1, pos3 = num.size() - 1; pos2 < pos3;)
{
int sum = num[pos1] + num[pos2] + num[pos3];
if(sum == 0)
{
vector<int> tempResult;
tempResult.push_back(num[pos1]);
tempResult.push_back(num[pos2]);
tempResult.push_back(num[pos3]);
result.push_back(tempResult);
while( pos2+1 < pos3 && num[pos2+1] == num[pos2])
pos2++;
pos2++;
while( pos3-1 > pos2 && num[pos3-1] == num[pos3])
pos3--;
pos3--;
}
else if(sum < 0)
pos2++;
else
pos3--;
}
while( pos1+1 < num.size() && num[pos1+1] == num[pos1])
pos1++;
}
return result;
}
};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。