61 leetcode - Spiral Matrix
来源:互联网 发布:文明5 mac steam 汉化 编辑:程序博客网 时间:2024/04/29 07:46
#!/usr/bin/python# -*- coding: utf-8 -*-'''Spiral MatrixGiven a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.For example,Given the following matrix:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]You should return [1,2,3,6,9,8,7,4,5].'''class Solution(object): def spiralOrder(self, matrix): """ :type matrix: List[List[int]] :rtype: List[int] """ if not matrix: return [] up,down = 0,len(matrix) - 1 left,right = 0,len(matrix[0]) - 1 ret = [] while down >= up and left <= right: col = left while col <= right: if matrix[up][col] != None: #给用过的数据做标记,防止重复使用 ret.append(matrix[up][col]) matrix[up][col] = None col += 1 up += 1 row = up while row <= down: if matrix[row][right] != None: ret.append(matrix[row][right]) matrix[row][right] = None row += 1 right -= 1 col = right while col >= left: if matrix[down][col] != None: ret.append(matrix[down][col]) matrix[down][col] = None col -= 1 down -= 1 row = down while row >= up: if matrix[row][left] != None: ret.append(matrix[row][left]) matrix[row][left] = None row -= 1 left += 1 return retif __name__ == "__main__": s = Solution() print s.spiralOrder([[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]) print s.spiralOrder([[ 1, 2, 3 ,4],[5, 6 ,7,8],[9,10,11,12 ],[13,14,15,16]]) print s.spiralOrder([[1,2,3,4]]) a = [[1],[2],[3],[4],[5],[6],[7],[8],[9],[10]] b = [i*2 for i in a] print s.spiralOrder(a) print s.spiralOrder(b)
0 0
- 61 leetcode - Spiral Matrix
- [leetcode]Spiral Matrix&&Spiral Matrix II
- Leetcode:Spiral Matrix与Spiral Matrix II
- LeetCode | Spiral Matrix /Spiral Matrix II
- 【Leetcode】【python】Spiral Matrix/Spiral Matrix II
- LeetCode: Spiral Matrix
- LeetCode: Spiral Matrix II
- LeetCode Spiral Matrix
- LeetCode Spiral Matrix II
- [Leetcode] Spiral Matrix
- [Leetcode] Spiral Matrix II
- LeetCode: Spiral Matrix
- LeetCode : Spiral Matrix II
- [LeetCode] Spiral Matrix II
- [LeetCode] Spiral Matrix
- leetcode 80: Spiral Matrix
- [Leetcode] Spiral Matrix
- [LeetCode]Spiral Matrix
- Jackson Json进行JSON解析和序列化
- C语言学习总结(四)——数据结构
- MySQL 触发器、事务、正则查询
- SpringMVC入门(二)
- 氨基酸三字母转一个字母
- 61 leetcode - Spiral Matrix
- 2017年技术预测
- MongoDB 项目集成(mongo-java-driver 3.4.1)
- 标准I/O库
- 62 leetcode - Spiral Matrix II
- java中,文件上传功能
- oj-15-j-字符串的比较
- Linux系统数据文件和信息
- 【热修复现有方案的比较】