思路:将数组中的数作为数组下标,把所有数组内包含的下标的值置为负数,最后数组中的正数下标就是消失的数字。
class Solution {
public List<Integer> findDisappearedNumbers(int[] nums) {
for(int i=0;i<nums.length;i++) {
nums[Math.abs(nums[i])-1] = -Math.abs(nums[Math.abs(nums[i])-1]);
}
List<Integer> list = new ArrayList();
for(int i=0;i<nums.length;i++){
if(nums[i] > 0){
list.add(i+1);
}
}
return list;
}
}