46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
# There is a robot starting at the position (0, 0), the origin,
|
|
# on a 2D plane. Given a sequence of its moves,
|
|
# judge if this robot ends up at (0, 0) after it completes its moves.
|
|
|
|
# You are given a string moves that represents
|
|
# the move sequence of the robot where moves[i]
|
|
# represents its ith move. Valid moves are 'R' (right),
|
|
# 'L' (left), 'U' (up), and 'D' (down).
|
|
|
|
# Return true if the robot returns to the origin after it finishes all of its moves,
|
|
# or false otherwise.
|
|
|
|
# Note: The way that the robot is "facing" is irrelevant.
|
|
# 'R' will always make the robot move to the right once,
|
|
# 'L' will always make it move left, etc. Also,
|
|
# assume that the magnitude of the robot's movement is the same for each move.
|
|
|
|
|
|
# Constraints:
|
|
|
|
# 1 <= moves.length <= 2 * 10^4
|
|
# moves only contains the characters 'U', 'D', 'L' and 'R'.
|
|
|
|
|
|
class Solution:
|
|
def judgeCircle1(self, moves: str) -> bool:
|
|
horizontal = 0
|
|
vertical = 0
|
|
for move in moves:
|
|
if move == "U":
|
|
vertical += 1
|
|
if move == "D":
|
|
vertical -= 1
|
|
if move == "L":
|
|
horizontal -= 1
|
|
if move == "R":
|
|
horizontal += 1
|
|
return horizontal == 0 and vertical == 0
|
|
|
|
def judgeCircle(self, moves: str) -> bool:
|
|
if moves.count("U")!=moves.count("D"):
|
|
return False
|
|
if moves.count("L")!=moves.count("R"):
|
|
return False
|
|
return True
|