描述
一个镜像数字是指一个数字旋转180度以后和原来一样(倒着看)。
写下一个函数来判断是否这个数字是镜像的。数字用字符串来表示。
您在真实的面试中是否遇到过这个题?
是
样例
例如,数字"69","88",和"818"都是镜像数字。
给出数字 num = "69"
返回 true
给出数字 num = "68"
返回 false
使用关联容器较为简单,需要注意的是,字符类型的输入方式,需要加单引号。
class Solution {
public:
/**
* @param num: a string
* @return: true if a number is strobogrammatic or false
*/
bool isStrobogrammatic(string &num) {
// write your code here
unordered_map<char,char> m_map;
m_map['0']='0';
m_map['1']='1';
m_map['6']='9';
m_map['9']='6';
m_map['8']='8';
int left=0;
int right=num.length()-1;
while(left<=right){
if(m_map.count(num[left])==0||m_map[num[left]]!=num[right]) return false;
left++;
right--;
}
return true;
}
};