看了半天终于理解了,刚开始的时候总在想走错的路径怎么不打印,不是已经添加到pos列表了吗?结果仔细一看才发现,代码的判断是if而不是if-else。所以,每次执行函数时,都会对四个方向进行判断,如果四个if都成立,则会产生4个pos列表,则有几个if成立,则有几个新的pos列表,函数就这样把所有的可能路线都跑了一遍。所以函数最终有两个状态,一个是满足最后的打印条件,一个是所有if都不成立,则这个pos就不会打印。又因为题目是唯一解,所以最终只会打印一个唯一正确的pos。如果是最短路径,则可以在最后一个if时,添加一个新的字典,用pos的长度作为key,pos作为value,将字典排序后打印第一个value即可。
4

相关推荐

瑞雪兆丰年_:可以贴个超级大的校徽,以防HR眼拙
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务