題目要求是對一個matrix 以螺旋方式取出
利用python 對list處理的方便性,可以快速解決
概念就是把原本matrix 依照上、右、下、左的順序拆下來,然後放入return 的list內,直到matrix清空
需注意的是拆最右邊或最左邊排時,若拆完變empty list, 則也就代表全部拆完了
Example:
matrix=[[1,2],
[3,4],
[5,6],
[7,8]]
step1: 拆上面
matrix=
[[3,4],
[5,6],
[7,8]]
ret = [1,2]
step2: 拆右邊
matrix=
[[3],
[5],
[7]]
ret = [1,24,6,8]
step3: 拆下面
matrix=
[[3],
[5]]
ret = [1,24,6,8,7]
step4: 拆左邊
matrix=
[[],
[]]
ret = [1,24,6,8,7,5,3]
這邊發現5,3拿走後matrix 內只剩下空list,因此matrix已經是空的了
source code: https://github.com/cy-arduino/leetcode/blob/master/54.%20Spiral%20Matrix.py
leetcode: https://leetcode.com/problems/spiral-matrix/
沒有留言:
張貼留言