> Problem: [448. 找到所有数组中消失的数字]
[TOC]
# 思路
> 看了好久,在这个思路想出来之前,我试了其他几种情况,确实浪费了好长时间!
# 解题方法
> 创建一个新的数组arr是布尔类型的,长度是nums.lenght+1,先一次for循环,如果出现某个数字的话,arr下表为该数字的值改为ture;因为arr默认的值为false,注意arr[0] = true;然后再进行一次for循环,循环arr数组,当某个值为false的时候,将该下标放在List<Integer>中,思路如此,简单易懂!
看代码,简单易懂!
# Code
```Java []
class Solution {
public List<Integer> findDisappearedNumbers(int[] nums) {
List<Integer> ls = new ArrayList<>();
boolean[] arr = new boolean[nums.length + 1];
arr[0] = true;
for (int num : nums) {
arr[num] = true;
}
for (int i = 0; i < nums.length+1; i++) {
if (!arr[i]){
ls.add(i);
}
}
return ls;
}
}
```