Spiral Print Matrix
JavaScript
Medium
6 views
Problem Description
Given r x c matrix, print all elements in spiral order.
Input Format
First line: r c. Next r lines: c integers.
Output Format
One line: spiral order.
Sample Test Case
Input:
3 3
1 2 3
4 5 6
7 8 9
Output:
1 2 3 6 9 8 7 4 5
Official Solution
const fs=require('fs');const lines=fs.readFileSync(0,'utf8').trim().split(/\
?\
/);if(!lines[0])process.exit(0);const [R,C]=lines[0].trim().split(/\\s+/).map(Number);let m=[];for(let i=0;i<R;i++)m.push(lines[i+1].trim().split(/\\s+/));let top=0,bot=R-1,left=0,right=C-1;let out=[];while(top<=bot && left<=right){for(let j=left;j<=right;j++)out.push(m[top][j]);top++;for(let i=top;i<=bot;i++)out.push(m[i][right]);right--;if(top<=bot){for(let j=right;j>=left;j--)out.push(m[bot][j]);bot--;}if(left<=right){for(let i=bot;i>=top;i--)out.push(m[i][left]);left++;}}process.stdout.write(out.join(' '));
Solutions (0)
No solutions submitted yet. Be the first!
No comments yet. Start the discussion!