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

顺时针打印矩阵

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

import java.util.ArrayList;
public class Solution {
    public ArrayList<Integer> printMatrix(int [][] matrix) {
       ArrayList<Integer> res = new ArrayList<>();
       if(matrix == null || matrix.length == 0 || matrix[0].length == 0){
            return res;
        }
        int rows = matrix.length-1;
        int column = matrix[0].length-1;
        int left = 0;
        int right = 0;
        int up = 0;
        int down = 0;
        for (int i = 0;;i++) {
            right = column-i;
            left = i;
            up = i;
            down = rows-i;
            if (left>right||up>down||right<0||down<0) {
                break;
            }
            //左往右
            for (int j = left; j <= right; j++) {
                res.add(matrix[up][j]);
            }

            //上往下
            for (int j = up+1; j <= down; j++) {
                res.add(matrix[j][right]);
            }

            //右往左, 必须加上 上小于下
            for (int j = right-1; j>=left&&up<down; j--) {
                res.add(matrix[down][j]);
            }

            //下往上,必须加上左小于右
            for (int j = down-1; j > up&&left<right; j--) {
                res.add(matrix[j][left]);
            }

            

        }
        return res;
    }
}

全部评论

相关推荐

不亏是提前批,神仙打架,鼠鼠不配了
站队站对牛:现在92都报工艺岗了
投递韶音科技等公司10个岗位
点赞 评论 收藏
分享
07-09 18:33
门头沟学院 Java
这么逆天每年都有人去???&nbsp;填多益网申就是大型的服从性测试
鲁大牛:辅导员在群里发了这个公司我就申了一下。网申居然要写当场开摄像头写两篇不少于三百字的作文。太逆天了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务