题目描述:
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;
}
}
本文介绍了一种通过分析字符串中的方向指令来判断机器人是否能回到初始位置的方法。通过对输入字符串进行解析并计数,最终确定机器人移动后的位置状态。
205

被折叠的 条评论
为什么被折叠?



