zoukankan      html  css  js  c++  java
  • 剑指offer-29 顺时针打印矩阵

    输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。

    思路就是不断移动上下左右的边界,按照上右下左的方式进行遍历

    class Solution {
        public int[] spiralOrder(int[][] matrix) {
            List<Integer> list=new ArrayList<Integer>();
            if(matrix.length==0){
                return new int[0];
            }
            int m=matrix.length;
            int n=matrix[0].length;
            
            int t=0,l=0,r=n-1,b=m-1;
            while(list.size()<m*n){
            //从左到右
            for(int i=l;i<=r;i++){
                list.add(matrix[t][i]);
            }
            ++t;
            
            //从上到下
            for(int i=t;i<=b;i++){
                list.add(matrix[i][r]);
            }
            --r;
            //从右到左
            for(int i=r;i>=l;i--){
                list.add(matrix[b][i]);
            }
            --b;
           
            
            //从下到上
            for(int i=b;i>=t;i--){
                list.add(matrix[i][l]);
            }
            ++l;
            
            }
            int []res=new int[m*n];
            for(int i=0;i<m*n;i++){
                res[i]=list.get(i);
            }
            return res;
    
    
    
    
        }
    }
  • 相关阅读:
    第一个C#程序
    定位网页元素
    盒子模型
    浮动
    css3美化网页元素
    html css3
    java表单基础
    表单
    html5基础
    java程序题目解析
  • 原文地址:https://www.cnblogs.com/jieyi/p/14308776.html
Copyright © 2011-2022 走看看