寻找重复数
这题实际上就是变形的环形链表Ⅱ,下标为index的下一个元素是nums[index],下下一个元素是nums[nums[index]]
class Solution {
public:
int findDuplicate(vector<int>& nums) {
int fast=0;
int slow=0;
while(1)
{
fast=nums[nums[fast]];
slow=nums[slow];
if(fast==slow)
{
slow=0;
while(fast!=slow)
{
fast=nums[fast];
slow=nums[slow];
}
return fast;
}
}
}
};