import java.util.*; public class Solution { /** * * @param numbers int整型一维数组 * @param target int整型 * @return int整型一维数组 */ public int[] twoSum (int[] numbers, int target) { if(numbers == null || numbers.length == 0) { return null ; } Map<Integer , Integer> map = new HashMap<>() ; //map中存储 nums[i] : i int res[] = new int[2] ; //遍历数组,不断往map里面存值,和检查 for(int i = 0 ; i < numbers.length ; i ++) { //若此时检查到已经存入map中的值有和自己相加等于target的值 //直接返回 当前i,和检查查到的 索引 if(map.containsKey(target-numbers[i])) { res[0] = map.get(target-numbers[i]) + 1 ; res[1] = i+1 ; break ; } else { map.put(numbers[i] , i) ; } } return res ; } }