Judge Route Circle[easy]
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.
Example 1:
Input: "UD"
Output: true
Example 2:
Input: "LL"
Output: false
Solution
这是一道十分容易的题目,机器人只有四个方向可以移动,如果最后能够回到原点,即为路线是环。那么何时回到原点?我们知道一上一下回到原点,一左一右回到原点,不难看出,如果上下的数目相等,并且左右的数目相等,那它一定会回到原点。
class Solution {
public:
bool judgeCircle(string moves) {
int u = 0;
int d = 0;
int l = 0;
int r = 0;
for (int i = 0; i < moves.length(); i++) {
switch(moves[i]) {
case 'U' : u++; break;
case 'D' : d++; break;
case 'L' : l++; break;
case 'R' : r++; break;
}
}
if (u == d && l == r) {
return true;
} else {
return false;
}
}
};