美文网首页
19 顺时针打印矩阵

19 顺时针打印矩阵

作者: ShawnCaffeine | 来源:发表于2019-06-22 23:11 被阅读0次

    输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.

    import java.util.ArrayList;
    public class Solution {
          ArrayList<Integer> a=new ArrayList<Integer> ();
        public ArrayList<Integer> printMatrix(int [][] matrix) {
          
            int tr=0;
            int tc=0;
            int row=matrix.length-1;
            int col=matrix[0].length-1;
            while(tr<=row&&tc<=col){
                print(matrix,tr++,tc++,row--,col--); 
            }
           
            return a;
        }
            public void print(int [][] matrix, int tr,int tc,int row,int col){
                if(tr==row){                      //一横行
                   
                       int cur_c1=tc; 
               //     if(cur_c1==col){                                   //如果只有一个数字就放进去
               //         a.add(matrix[tr][tc]);
                //    }                                          
                  for(int i=tc;i<=col;i++){
                      a.add(matrix[tr][i]);
                  }
                   
                   
                }else if(tc==col){
                     for(int j=tr;j<=row;j++){
                      a.add(matrix[j][tc]);
                  }
                     
                }else{
                    int cur_c=tc;
                    int cur_r=tr;    //存储当前的行与列
                    
                    while(cur_c!=col){
                        a.add(matrix[tr][cur_c]);
                        cur_c++;
                    }
                    while(cur_r!=row){
                        a.add(matrix[cur_r][col]);
                        cur_r++;
                    }
                     while(cur_c!=tc){
                        a.add(matrix[row][cur_c]);
                        cur_c--;
                    }
                     while(cur_r!=tr){
                        a.add(matrix[cur_r][tc]);
                        cur_r--;
                    }
                   
                }
            }
            }
        
    

    相关文章

      网友评论

          本文标题:19 顺时针打印矩阵

          本文链接:https://www.haomeiwen.com/subject/wpsbqctx.html