如何反转2D数组的线?

时间:2015-11-17 15:50:05

标签: java algorithm multidimensional-array

如何反转2D数组的线条, 例如:

[~][@][@][@]
[~][~][@][~]
[~][~][@][~]
[~][~][~][~]

对此:

[~][~][~][~]
[~][~][@][~]
[~][~][@][~]
[~][@][@][@]

我试图找到但是我找不到这种任务的算法,请帮助。

2 个答案:

答案 0 :(得分:2)

假设您的2D数组定义如下:

int[][] matrix = new int[nRows][nCols];

你可以试试这个:

for (int i = 0, k = nRows - 1; i < nRows / 2; i++, k--) {
    int[] temp = matrix[k];
    matrix[k] = matrix[i];
    matrix[i] = temp;
}

它将在行的中途迭代并将第一个与最终的交换,第二个与倒数第二个交换。等等。

答案 1 :(得分:1)

试试下面的内容,

        List<List<String>> newListOfList = new ArrayList<>();
        for(int i=listOfList.size()-1; i>=0;i--) { //listOfList is the original list
            newListOfList.add(listOfList.get(i));
        }
相关问题