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 };