我可如何扭转一个二维数组的线, 例如像:如何反转2D阵列的线条?
[~][@][@][@]
[~][~][@][~]
[~][~][@][~]
[~][~][~][~]
要这样:
[~][~][~][~]
[~][~][@][~]
[~][~][@][~]
[~][@][@][@]
我试图找到,但我无法找到这种算法任务,请帮助。
我可如何扭转一个二维数组的线, 例如像:如何反转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;
}
它将通过行中途迭代和交换先用最终,第二个用倒数第二等等。
我改变了我的问题 – LiziPizi
试试下面,
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));
}
你能不能改变你的榜样,而不是使用数字字母请。既然有重复的笨蛋,它会令我困惑。 – StackFlowed
@StackFlowed我改变了我的问题 – LiziPizi
无所谓可以使用不同的元素,如1,2,3和4有两次,这使得难以理解。 – StackFlowed