287. 寻找重复数

♀尐吖头ヾ 提交于 2020-03-06 01:17:38

287. 寻找重复数

这个题还蛮有意思的

class Solution {
    public int findDuplicate(int[] nums) {
        int slow=0;//慢指针
        int fast=0;//快指针
        while (true){//类似环找出口。。
            fast=nums[nums[fast]];
            slow=nums[slow];
            if (fast==slow){
                fast=0;
                while (slow!=fast){
                    fast=nums[fast];
                    slow=nums[slow];
                }
                return fast;
            }

        }
    }
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!