本题题目要求如下:
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.
本题还是比较简单的,就是定义一个hashmap,然后两个指针分别从头和尾检查即可,代码如下:class Solution {
public:
bool isStrobogrammatic(string num) {
hashmap['0'] = '0';
hashmap['1'] = '1';
hashmap['6'] = '9';
hashmap['8'] = '8';
hashmap['9'] = '6';
int i = 0, j = num.length() - 1;
while (i <= j) {
if (hashmap[num[i]] != num[j]) {
return false;
}
++i;
--j;
}
return true;
}
private:
unordered_map<char, char> hashmap;
};