judge-route-circle

Judge Route Circle – LeetCode 657

Problem

Description

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.

Answer

Original

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Solution {
public:
bool judgeCircle(string moves) {
int x = 0, y = 0;
for(char c : moves){
switch(c){
case 'R': ++y;
break;
case 'L': --y;
break;
case 'U': --x;
break;
case 'D': ++x;
break;
}
}
return !x && !y;
}
};

思路

直接对修改值进行统计。时间复杂度$O(n)$,空间复杂度$O(1)$。
耗时$12$ ms,排名$2.23\%$

Better

思路

还没看到更好的思路