[每日一题]机器人能否返回原点

来源:

lintcode-机器人能否返回原点

描述

最初,机器人位于(0, 0)处。 给定一系列动作,判断该机器人的移动轨迹是否是一个环,这意味着它最终会回到原来的位置。

移动的顺序由字符串表示。 每个动作都由一个字符表示。 有效的机器人移动是R(右),L(左),U(上)和D(下)。 输出应该为true或false,表示机器人是否回到原点。

样例

1
2
3
样例1:
输入: "UD"
输出: true
1
2
3
样例2:
输入: "LL"
输出: false

解题思路

要想返回原点,上下操作与左右操作必须成对出现,即U的个数=D的个数,L的个数=R的个数.

实现代码

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
public boolean judgeCircle(String moves) {
// Write your code here
char[] cs = moves.toCharArray();
int u = 0;
int d = 0;
int l = 0;
int r = 0;
for (char c : cs) {
switch (c) {
case 'U':
u++;
break;
case 'D':
d++;
break;
case 'R':
r++;
break;
case 'L':
l++;
break;
}
}
return u - d == 0 && r - l == 0;
}

完。




ChangeLog

2018-12-05 完成

以上皆为个人所思所得,如有错误欢迎评论区指正。

欢迎转载,烦请署名并保留原文链接。

联系邮箱:huyanshi2580@gmail.com

更多学习笔记见个人博客——>呼延十