题目:
有一个机器人在原点,现在给他一个移动序列,判断该机器人运动后是否回到原点。
也就是说,机器人上下and左右移动的距离是否分别相等
简化就是判断“L”“R”出现的次数是否相等,“U”“D”出现的次数是否相等
#include <iostream>
#include <unordered_map>
using namespace std;
class Solution {
public:
bool judgeCircle(string moves) {
int len = moves.length();
unordered_map<char,int> um;
if(len % 2 != 0)
return false;
else{
for(char ch : moves)
um[ch]++;
return (um['L'] == um['R'] && um['U'] == um['D']);
}
}
};
int main() {
Solution s;
cout << s.judgeCircle("UD") << endl;
system("pause");
return 0;
}