对称数,新的知识,哈哈哈。
同时得能想到,用map保存,而且是对应pair,6-9,9-6这样的来保存查找,这个和2Sum的找key很像啊。
注意,是
left <= right
还有那是 || 的关系!
public class Solution {
public boolean isStrobogrammatic(String num) {
if (num == null || num.length() == 0) {
return true;
}
Map<Character, Character> map = new HashMap<>();
map.put('0', '0');
map.put('1', '1');
map.put('6', '9');
map.put('8', '8');
map.put('9', '6');
int left = 0, right = num.length() - 1;
while (left <= right) {
char lc = num.charAt(left);
char rc = num.charAt(right);
//if (!map.containsKey(lc) && !map.get(lc).equals(rc)) {
if (!map.containsKey(lc) || !map.get(lc).equals(rc)) {
return false;
}
left++;
right--;
}
return true;
}
}