标签:matrix 螺旋 int 54 list start 矩阵 List size
package leetcode; import java.util.ArrayList; import java.util.List; public class demo_54 { public List<Integer> spiralOrder(int[][] matrix) { List<Integer> list=new ArrayList<Integer>(); //最外圈的宽度 int width=matrix[0].length; //最外圈的高度 int height=matrix.length; int length=width*height; //记录每一次开始的位置 int start=0; int i; int j; //每一次走完一个完整的外圈 while(list.size()<length) { i=start; j=start; for(;j<width&&list.size()<length;j++) { list.add(matrix[i][j]); } j=j-1; for(i=i+1;i<height&&list.size()<length;i++) { list.add(matrix[i][j]); } i=i-1; for(j=j-1;j>=start&&list.size()<length;j--) { list.add(matrix[i][j]); } j=j+1; for(i=i-1;i>start&&list.size()<length;i--) { list.add(matrix[i][j]); } start=start+1; width=width-1; height=height-1; } for(int num:list) { System.out.print(num+" "); } return list; } public static void main(String[] args) { // TODO Auto-generated method stub demo_54 d54=new demo_54(); int nums[][]= {{1,2,3,4},{5,6,7,8},{9,10,11,12}}; d54.spiralOrder(nums); } }
标签:matrix,螺旋,int,54,list,start,矩阵,List,size 来源: https://www.cnblogs.com/Yshun/p/14822169.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。