657. 判断路线成圈

初始位置 (0, 0) 处有一个机器人。给出它的一系列动作,判断这个机器人的移动路线是否形成一个圆圈,换言之就是判断它是否会移回到原来的位置。

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

示例 1:

输入: "UD"
输出: true

示例 2:

输入: "LL"
输出: false

AC:
 1 static const auto __ = []()
 2 {
 3     ios::sync_with_stdio(false);
 4     cin.tie(nullptr);
 5     return nullptr;
 6 }();
 7 class Solution {
 8 public:
 9     bool judgeCircle(string moves) {
10         int num[5];
11         for(int i = 0; i <= 4; i++)
12             num[i] = 0;
13         
14         for(int i = 0; i < moves.length();i++) {
15             if(moves[i] == 'R') {
16                 num[1]++;
17             } else if(moves[i] == 'L') {
18                 num[2]++;
19             } else if(moves[i] == 'U') {
20                 num[3]++;
21             } else if(moves[i] == 'D') {
22                 num[4]++;
23             }
24         }
25         if(num[1] == num[2] && num[3] == num[4]) 
26             return true;
27         else 
28             return false;
29     }
30 };

 

posted @ 2018-05-08 12:42  听说这是最长的名字了  阅读(188)  评论(0编辑  收藏  举报