题解 | #螺旋矩阵#

螺旋矩阵

http://www.nowcoder.com/practice/7edf70f2d29c4b599693dc3aaeea1d31

import java.util.ArrayList;
public class Solution {
    ArrayList<Integer> list = new ArrayList<>();
    public ArrayList<Integer> spiralOrder(int[][] matrix) {
        if(matrix == null || matrix.length == 0){
            return list;
        }
        int dr = 0,dc = 0;
        int tr = matrix.length-1,tc = matrix[0].length-1;
        while(dr <= tr && dc <= tc){
            mat(matrix,dr++,dc++,tr--,tc--);
        }
        return list;
    }
    public void mat(int[][] matrix,int dr,int dc,int tr,int tc){
        if(dr == tr){
            for(int i = dc;i<=tc;i++){
                list.add(matrix[dr][i]);
            }
        }else if(dc == tc){
            for(int i = dr;i<= tr;i++){
                list.add(matrix[i][dc]);
            }
        }else{
            for(int i = dc;i<tc;i++){
                list.add(matrix[dr][i]);
            }
            for(int i = dr; i< tr;i++){
                list.add(matrix[i][tc]);
            }
            for(int i = tc;i>dc;i--){
                list.add(matrix[tr][i]);
            }
            for(int i = tr;i>dr;i--){
                list.add(matrix[i][dc]);
            }
        }
        
    }
}
全部评论

相关推荐

07-18 14:34
门头沟学院 Java
感觉招聘要求好高,这都是招什么人才
电气电子小朋友:你都说了这是大疆,无人机顶级企业,薪资30k-50k,要求高是正常的
点赞 评论 收藏
分享
07-22 13:50
门头沟学院 Java
仁者伍敌:其实能找到就很好了,当然收支能抵
点赞 评论 收藏
分享
认真搞学习:这么良心的老板真少见
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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