LeetCode1389
思路:先将元素存放在集合中,集合中的add(index,value)方法可以在指定的位置插入元素。
再创建新的数组,将集合中的元素存入数组,直接用数组的话元素移动不好操作。
public class Demo01 {
public static void main(String[] args) {
int[] nums = {0,1,2,3,4};
int[] index = {0,1,2,2,1};
int[] targetArray = createTargetArray(nums,index);
printArray(targetArray);
}
public static int[] createTargetArray(int[] nums, int[] index){
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < nums.length; i++) {
list.add(index[i],nums[i]);
}
int[] arr = new int[nums.length];
for (int i = 0; i < nums.length; i++) {
arr[i] = list.get(i);
}
return arr;
}
public static void printArray(int[] arr){
//打印数组
for (int i = 0; i < arr.length; i++) {
if (i==0){
if(arr.length==1){
System.out.println("["+arr[0]+"]");
}else {
System.out.print("["+arr[i]);
}
}else if(i==arr.length-1){
System.out.println(","+arr[i]+"]");
}else {
System.out.print(","+arr[i]);
}
}
}
}