From 4f2985b879afaa2ee128d64a2707556a18ab4664 Mon Sep 17 00:00:00 2001 From: Sonakshi Priya <50029165+sonakshi-priya@users.noreply.github.com> Date: Thu, 1 Oct 2020 12:55:13 +0530 Subject: [PATCH] Create SpiralMatrix.java --- src/SpiralMatrix.java | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/SpiralMatrix.java diff --git a/src/SpiralMatrix.java b/src/SpiralMatrix.java new file mode 100644 index 0000000..e29c39d --- /dev/null +++ b/src/SpiralMatrix.java @@ -0,0 +1,42 @@ +public class Solution { + // DO NOT MODIFY THE LIST. IT IS READ ONLY + public ArrayList spiralOrder(final List> A) { + ArrayList li = new ArrayList(); + int t=0, b=A.size()-1, l=0, r=A.get(0).size()-1; + int dir = 0; + while(t<=b && l<=r){ + if(dir == 0){ + for(int i=l; i<=r; i++){ + li.add(A.get(t).get(i)); + + } + t++; + dir =1; + }else if(dir==1){ + for(int i = t; i<=b; i++){ + li.add(A.get(i).get(r)); + + } + r--; + dir = 2; + }else if(dir==2){ + for(int i=r; i>=l; i--){ + li.add(A.get(b).get(i)); + + + } + b--; + dir=3; + }else if(dir == 3){ + for(int i=b; i>=t; i--){ + li.add(A.get(i).get(l)); + + + } + l++; + dir=0; + } + } + return li; + } +}