題目
初始位置 (0, 0) 處有一個機器人。給出它的一系列動作,判斷這個機器人的移動路線是否形成一個圓圈,換言之就是判斷它是否會移回到原來的位置。
移動順序由一個字元串表示。每一個動作都是由一個字元來表示的。機器人有效的動作有 R(右),L(左),U(上)和 D(下)。輸出應為 true 或 false,表示機器人移動路線是否成圈。
示例 1:
輸入: "UD"
輸出: true
示例 2:
輸入: "LL"
輸出: false
解答
判斷上下,和左右分别相加為零不就行了嗎
class Solution(object):
def judgeCircle(self, moves):
"""
:type moves: str
:rtype: bool
"""
x = 0
y = 0
for i in moves:
if i == 'U':
x += 1
elif i == 'D':
x -= 1
elif i == 'L':
y += 1
else:
y -= 1
return x == y == 0
當然這種方法肯定是最笨的方法,看一下結果,打敗36.72%的送出者,看一下網友代碼:
class Solution(object):
def judgeCircle(self, moves):
"""
:type moves: str
:rtype: bool
"""
return moves.count('U') == moves.count('D') and moves.count('L') == moves.count('R')
一行解決,不得不說真厲害。