Leetcode——剑指offer面试题03. 数组中重复的数字

Leetcode——剑指offer面试题03. 数组中重复的数字_第1张图片
这题很简单,空间换时间,新建一个等长的bool数组,用bool数组记录元素是否被访问过。未访问过是false,访问了置true,遍历时如果发现bool数组该元素对应为true则说明之前访问过,返回即可。最后的return -1为了让编译器通知int类型的函数返回值。其实用不上,有的编译器也不会报错。

class Solution 
{
public:
    int findRepeatNumber(vector<int>& nums) 
    {
        int length=nums.size();
        bool flag[length]={false};
        for(int i=0;i<length;i++)
        {
            if(flag[nums[i]]==false)
            {
                flag[nums[i]]=true;
            }
            else
            {
                return nums[i];
            }
        }
        return -1;    
    }
};

你可能感兴趣的:(leetcode)