-
Notifications
You must be signed in to change notification settings - Fork 101
/
Copy pathJudgeRouteCircle657.java
37 lines (35 loc) · 1.01 KB
/
JudgeRouteCircle657.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/**
* 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
*/
public class JudgeRouteCircle657 {
public boolean judgeCircle(String s) {
if (s == null || s.length() == 0) return true;
char[] moves = s.toCharArray();
int x = 0;
int y = 0;
for (int i=0; i<s.length(); i++) {
switch (moves[i]) {
case 'U': y--; break;
case 'D': y++; break;
case 'L': x--; break;
case 'R': x++;
}
}
return x == 0 && y == 0;
}
}