解题思路
刚开始使用C++解决力扣,和C有点不同,我将我的用过的方法,以及错误都注释在代码中。
利用hash表记录数组内数值出现的次数,然后依次返回。运用好STL可以大大缩减我们的时间。
代码
class Solution {
public:
int findRepeatNumber(vector<int>& nums)
{
//数组,计数,可能用到hash表
//int *ret=(int *)malloc(sizeof(int));
int hash[100001]={0}; //最大100000
for(vector<int>::iterator p=nums.begin();p<nums.end();p++)
{
hash[*p]++;
if(hash[*p]>1)
{
int ret1;
ret1=*p;
return ret1;//函数 int find,, 要返回int型 p是迭代器,是指针,不能返回
}
}
return 0; /*返回值要在函数内部返回,
*在int findRepeatNumber(vector<int>& nums)内部
*不能在int findRepeatNumber(vector<int>& nums)
*/
}
};`
总结:刚从C的解题思路到C++,还有许多思考方式的转换和小细节的处理和注意事项。