我在Java中为左旋转编写了一个脚本,并且在代码中使用了2个循环。
我使用过条件来检查第二个循环中的第一个迭代,然后在其中进行一些处理。我要传递2个参数“ a”是一个数组,而“ d”是不旋转的。
static int[] rotLeft(int[] a, int d) {
int temp1 = 0;
int temp = 0;
int count = 0;
int j;
for(int i = 0; i < d; i++){
for(j = a.length - 1; j > 0; j--){
if(j == a.length - 1){
temp1 = a[0];
temp = a[j];
a[j] = temp1;
}
else{
temp1 = a[j];
a[j] = temp;
}
}
return a;
}
但问题是每次迭代都适用。我知道我在犯一些愚蠢的错误。
答案 0 :(得分:3)
else
temp1 = a[j];
a[j] = temp;
我怀疑你的意思:
else {
temp1 = a[j];
a[j] = temp;
}
空白在Java中没有语义(不同于少数其他语言,如Python)。