在下面的程序中,输出应打印程序中给出的矩阵螺旋中的整数列表。
输出是:[1, 2, 3, 6, 9, 8, 7, 4, 5, 5]
在输出列表的末尾,最后一个循环再次以相反的顺序打印(5
在列表的末尾再次打印)。为什么?我的代码哪里出错了?
A = [
[ 1, 2, 3 ],
[ 4, 5, 6 ],
[ 7, 8, 9 ]
]
def spiralOrder(A):
result = []
t = 0
b = len(A)-1
l = 0
r = len(A[0])-1
d = 0
k = 0
while(t<=b and l<=r):
if d == 0:
for i in range(l,r+1):
result.append(A[t][i])
t =+ 1
d = 1
elif d == 1:
for i in range(t,b+1):
result.append(A[i][r])
r -= 1
d = 2
elif d == 2:
for i in range(r,l-1,-1):
result.append(A[b][i])
b -= 1
d = 3
elif d == 3:
for i in range(b,t-1,-1):
result.append(A[i][l])
l += 1
d = 0
return result
print spiralOrder(A)