题目链接:https://leetcode.com/problems/strobogrammatic-number/
A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down).
Write a function to determine if a number is strobogrammatic. The number is represented as a string.
For example, the numbers "69", "88", and "818" are all strobogrammatic.
思路:有点像一个变形的回文数.一个hash表做一个映射即可.
代码如下:
class Solution {
public:
bool isStrobogrammatic(string num) {
unordered_map<char, char> hash;
hash['6'] = '9';
hash['9'] = '6';
hash['8'] = '8';
hash['1'] = '1';
hash['0'] = '0';
int len = num.size();
for(int i = 0; i <= (len+1)/2; i++)
if(hash[num[i]] != num[len-i-1]) return false;
return true;
}
};