这题可以用java里面的vector写吗
来源:3-3 在LeetCode上解决第一个问题 Move Zeros
v不离不弃v
2020-02-12
波波老师,为什么这一题我用arraylist做就accept了,然后用vector做就报错呢?
public static void moveZeroes(int[] nums) {
/*
ArrayList array=new ArrayList<>();
for(int i=0;i<nums.length;i++) {
if(nums[i]!=0)
array.add(nums[i]);
}
for(int i=0;i<nums.length;i++) {
if(i<array.size())
nums[i]=array.get(i);
else
nums[i]=0;
}
}
写回答
1回答
-
liuyubobobo
2020-02-12
Leetcode 本身没有默认 import Vector 类,你需要手动导入。
一下代码可 AC。
import java.util.Vector; class Solution { public static void moveZeroes(int[] nums) { Vector<Integer> array=new Vector<>(); for(int i=0;i<nums.length;i++) { if(nums[i]!=0) array.add(nums[i]); } for(int i=0;i<nums.length;i++) { if(i<array.size()) nums[i]=array.get(i); else nums[i]=0; } } }
不过,通常情况下,没有特殊情况,在 Java 中不需要使用 Vector。Vector 和 ArrayList 的区别是线程安全。通常的算法问题,都是串行算法,不需要考虑线程安全的问题。
继续加油!:)
00
相似问题