用list模拟一個隊列就行
代碼如下:
class Solution:
def waterInjection(self, matrix, R, C):#
# Write your code here
n=len(matrix)
dx=[-1,0,0,1]
dy=[0,1,-1,0]
flag=0
temp=Node(R,C,matrix[R][C])
queue=[]
queue.append(temp)
while len(queue) != 0:
print(len(queue))
temp=queue[0]
queue.pop(0)
if temp.r==n-1 or temp.r==0 or temp.c==n-1 or temp.c==0:
flag=1
break
for i in range(4):
r=dy[i]+temp.r
c=dx[i]+temp.c
if matrix[r][c]<temp.h:
temp1=Node(r,c,matrix[r][c])
queue.append(temp1)
if flag==0:
return "NO"
else:
return "YES"
class Node:
def __init__(self,r,c,h):
self.r,self.c,self.h=r,c,h