Easy trick to solve the Spiral matrix printing problem
Here we have set 4 pointers top, down, left and right and based on iteration we are changing their values. Its very easy if you will work it out then you will definitely understand it. Java code : class Solution { public List < Integer > spiralOrder ( int [ ] [ ] matrix ) { int top , down , left , right ; top = 0 ; down = matrix . length - 1 ; left = 0 ; right = matrix [ 0 ] . length - 1 ; List < Integer > list = new ArrayList < > ( ) ; int dir = 1 ; while ( top <= down && left <= right ) { if ( dir == 1 ) { for ( int i = top ; i <= right ; i ++ ) list . add ( matrix [ top ] [ i ] ) ; top ++ ; } else if ( dir == 2 ) { for ( int i = top ; i <= down ; i ++ ) list . add ( matrix [ i ] [ right ] ) ; right -- ; } else if ( di...