题解 | #顺时针打印矩阵#

顺时针打印矩阵

http://www.nowcoder.com/practice/9b4c81a02cd34f76be2659fa0d54342a

import java.util.ArrayList;
public class Solution {
    public ArrayList<Integer> printMatrix(int [][] matrix) {
       if(matrix.length==0)return null;
        ArrayList<Integer> list = new ArrayList<>();
        int _1start=0;
        int _2start=0;
        int _3start=matrix[0].length;
        int _4start=matrix.length;

        while(true){

            for(int i=_1start;i<_3start;i++){
                list.add(matrix[_2start][i]);
            }
             if(list.size()>=matrix[0].length*matrix.length)return list;
            _2start++;
            for(int i=_2start;i<_4start;i++){
                list.add(matrix[i][_3start-1]);
            }
             if(list.size()>=matrix[0].length*matrix.length)return list;
            _3start--;
            for(int i=_3start-1;i>=_1start;i--){
                list.add(matrix[_4start-1][i]);
            }
             if(list.size()>=matrix[0].length*matrix.length)return list;
            _4start--;
            for(int i =_4start-1;i>=_2start;i--){
                list.add(matrix[i][_1start]);
            }
             if(list.size()>=matrix[0].length*matrix.length)return list;
            _1start++;
        }

    }
}
全部评论

相关推荐

草稿猫编程:查看图片
点赞 评论 收藏
分享
learYuan:🐕看了都摇头
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务