题目:
给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。
注意:答案中不可以包含重复的三元组。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/3sum
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解题思路 :
首先二级指针可以看作一个二维数组:例如【a,b,c】
【q,w,e】结果是俩种 每种结果包含三个数
二级指针就是可以开辟x个指针这x个指针每个可以指向y个内存
三数和俩数差不多 遇事不决先排序 第一步qsort()完成从小到大的序列
第二步 a,b,c 三个元素中 ,固定一个元素然后双指针找
int letf = i+1 i是第一个所以元素b就是从第二个i+1开始 然后end就=numbersize
int** a = (int**)malloc(sizeof(int*) * 6);
for(i=0;i<numsize-3;i++)//数组假设为10 则小标就是0~9 b为i+1 c为numbersize-1
{
while(start<end)左指针
{
if (a[i]+a[start]+a[end])== 0
{
a[Index][0] = nums[i];
a[Index][1] = nums[start];
a[Index][2] = nums[end];
}
//指针来回找
while(xxx)
start++
while(xxx)
end--
}
}