题目描述:
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
解答说明:
将String转变为字符数组,然后给定两个标志位,rl_count与ud_count,并将这两个标志位都初始化为0,然后遍历数组,当字符为'U'时,ud_count加1,当字符为'D'时,ud_count减1;左右同理。最后判断这两个标志位是否为0,若为0,则代表机器人回到原位,如果不为0,则返回false。
class Solution {
public boolean judgeCircle(String moves) {
int ud_count = 0;
int rl_count = 0;
char[] strArray = moves.toCharArray();
for(int i =0;i<strArray.length;i++){
switch(strArray[i]){
case 'U':
ud_count++;
break;
case 'D':
ud_count--;
break;
case 'R':
rl_count++;
break;
case 'L':
rl_count--;
break;
}
}
if(ud_count==0 &&rl_count==0){
return true;
}
return false;
}
}