657. Judge Route Circle
Initially, there is a Robot at position (0, 0). Given a sequence of its moves, judge if this robot makes a circle, which means it moves back to the original place.
The move sequence is represented by a string. And each move is represent by a character. The valid robot moves are R
(Right), L
(Left), U
(Up) and D
(down). The output should be true or false representing whether the robot makes a circle.
Example 1:
Input:
"UD"
Output:
true
Example 2:
Input:
"LL"
Output:
false
Solution
(1) Java
(2) Python
class Solution:
def judgeCircle(self, moves):
"""
:type moves: str
:rtype: bool
"""
if not moves:
return True
steps = [0,0]
for m in moves:
if m == 'U':
steps[0] += 1
elif m == 'D':
steps[0] += -1
elif m == 'L':
steps[1] += -1
else:
steps[1] += 1
return steps[0] == 0 and steps[1] == 0
(3) Scala