Create Copy
import java.util.ArrayList;import java.util.List;
public void fn(List<List<Integer>> matrix) { List<List<Integer>> createMatrix = new ArrayList<>(); List<List<Integer>> copyMatrix = new ArrayList<>(); int r = matrix.size(); int c = matrix.get(0).size();
for (int i = 0; i < r; i++) { List<Integer> row = new ArrayList<>();
for (int j = 0; j < c; j++) { row.add(0); }
createMatrix.add(row); }
for (List<Integer> row : matrix) { copyMatrix.add(new ArrayList<>(row)); }}Diagonals
import java.util.ArrayList;import java.util.List;
public void fn(List<List<Integer>> matrix) { List<Integer> mainDiagonal = new ArrayList<>(); List<Integer> antiDiagonal = new ArrayList<>(); int r = matrix.size(); int c = matrix.get(0).size();
for (int i = 0; i < Math.min(r, c); i++) { mainDiagonal.add(matrix.get(i).get(i)); }
for (int i = 0; i < Math.min(r, c); i++) { antiDiagonal.add(matrix.get(i).get(c - 1 - i)); }}Rotate/Transpose
import java.util.ArrayList;import java.util.List;
public static void fn(List<List<Integer>> matrix) { List<List<Integer>> transpose = new ArrayList<>(); List<List<Integer>> rotateLeft = new ArrayList<>(); List<List<Integer>> rotateRight = new ArrayList<>(); int r = matrix.size(); int c = matrix.get(0).size();
for (int j = 0; j < c; j++) { List<Integer> newRow = new ArrayList<>();
for (int i = 0; i < r; i++) { newRow.add(matrix.get(i).get(j)); }
transpose.add(newRow); }
for (int i = transpose.size() - 1; i >= 0; i--) { rotateLeft.add(transpose.get(i)); }
for (List<Integer> row : transpose) { List<Integer> newRow = new ArrayList<>();
for (int i = row.size() - 1; i >= 0; i--) { newRow.add(row.get(i)); }
rotateRight.add(newRow); }}