ID | Title | Difficulty | |
---|---|---|---|
Loading... |
246. Strobogrammatic Number
Easy
LeetCode
Hash Table, Two Pointers, String
Problem
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.
Example 1:
Input: num = "69"
Output: true
Example 2:
Input: num = "88"
Output: true
Example 3:
Input: num = "962"
Output: false
Example 4:
Input: num = "1"
Output: true
Code
class Solution {
public boolean isStrobogrammatic(String num) {
HashMap<Character, Character> map = new HashMap<>();
map.put('6', '9');
map.put('9', '6');
map.put('0', '0');
map.put('8', '8');
map.put('1', '1');
int left = 0;
int right = num.length() - 1;
while(left <= right){
if(!map.containsKey(num.charAt(left))){
return false;
}
if(map.get(num.charAt(left)) != num.charAt(right)){
return false;
}
left++;
right--;
}
return true;
}
}
class Solution:
def isStrobogrammatic(self, num: str) -> bool:
map = {
"0": "0",
"1": "1",
"6": "9",
"8": "8",
"9": "6",
}
l = 0
r = len(num) - 1
while l <= r:
if num[l] not in map.keys() or map[num[l]] != num[r]:
return False
l += 1
r -= 1
return True
按 <- 键看上一题!
245. Shortest Word Distance III
按 -> 键看下一题!
247. Strobogrammatic Number II