与T142类似,就是把链表换成了数组,同时slow = slow.next -> slow = nums[slow],fast = fast.next.next -> fast = nums[nums[fast]],数组中有一个重复的,即链表的入口。
class Solution {
public int findDuplicate(int[] nums) {
int slow = 0, fast = 0;
slow = nums[slow];
fast = nums[nums[fast]];
while(slow != fast){
slow = nums[slow];
fast = nums[nums[fast]];
}
int head1 = 0, head2 = slow;
while(head1 != head2){
head1 = nums[head1];
head2 = nums[head2];
}
return head1;
}
}
1212

被折叠的 条评论
为什么被折叠?



