题解 | #螺旋矩阵#C#

螺旋矩阵

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

using System.Collections.Generic;


class Solution {
 
    public List<int> spiralOrder (List<List<int>> matrix) {
        // write code here
        List<int> res = new List<int>();
        if (matrix != null && matrix.Count == 0) return res;
        int upBorder = 0,downBorder = matrix.Count-1,
        leftBorder = 0,rightBorder = matrix[0].Count-1;
        while (upBorder <= downBorder && leftBorder <= rightBorder)
        {
            for (int i = leftBorder; i <= rightBorder; i++)
                res.Add(matrix[upBorder][i]);
            upBorder++;
            if (upBorder > downBorder) break;
            for (int i = upBorder; i <= downBorder; i++)
                res.Add(matrix[i][rightBorder]);
            rightBorder--;
            if (leftBorder > rightBorder) break;
            for (int i = rightBorder; i >= leftBorder; i--)
                res.Add(matrix[downBorder][i]);
            downBorder--;
            if (upBorder > downBorder) break;
            for (int i = downBorder; i >= upBorder; i--)
                res.Add(matrix[i][leftBorder]);
            leftBorder++;
            if (leftBorder > rightBorder) break;
        }
        return res;
        
    }
}
全部评论

相关推荐

zzzilik:没事的,才刚刚开始,后面会捞的,这个三天没人发起面试自动结束,但是面试官还是能看到简历,四月份主战场会慢慢捞
点赞 评论 收藏
分享
04-03 22:41
兰州大学 C++
老六f:有时候是HR发错了,我之前投的百度的后端开发,他给我发的算法工程师,但是确实面的就是百度开发
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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