657. 机器人能否返回原点
难度:简单
好久不见的简单题
题目描述
解题思路
1、模拟走的过程
/*
* 657. 机器人能否返回原点
* 2020/8/28
*/
public boolean judgeCircle(String moves) {
int x = 0,y = 0;
for (int i = 0; i < moves.length(); i++) {
char move = moves.charAt(i);
if (move == 'U') {
y--;
} else if (move == 'D') {
y++;
} else if (move == 'L') {
x--;
} else if (move == 'R') {
x++;
}
}
return x == 0 && y == 0;
}
2、直接统计个数
另外一种想法是,要想最后回到原点,必须往左走和往右走的次数一样,往上走和往下走的次数一样
public boolean judgeCircle(String moves) {
int u = 0,d = 0,l = 0,r = 0;
char[] mvs = moves.toCharArray();
for (int i = 0; i < moves.length(); i++) {
char move = mvs[i];
if (move == 'U') {
u++;
} else if (move == 'D') {
d++;
} else if (move == 'L') {
l++;
} else if (move == 'R') {
r++;
}
}
return u==d && l==r;
}