Print given matrix in spiral form

Input: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output: 1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10 Concept: When we look at array indices, i) At top we have row as constant and column varying from left to right. ii) At right we have column as constant and row varying from top to bottom. iii) At bottom we have row as constant and column varying from right to left. iv) At left we have column as constant and row varying from bottom to top. Code: import java.util.*; public class Solution { public static void main(String[] args) { int[][] a ={{1,2,3,4,5,6},{7,8,9,10,11,12},{13,14,15,16,17,18}}; int m = a.length; int n = a[0].length; int top = 0, bottom = m-1, left = 0, right = n-1; ...