zoukankan      html  css  js  c++  java
  • Leetcode: 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.

    Related to confusing number

    O(N) time and O(N) space

     1 public class Solution {
     2     public boolean isStrobogrammatic(String num) {
     3         if (num==null || num.length()==0) return false;
     4         StringBuffer buf = new StringBuffer();
     5         for (int i=0; i<num.length(); i++) {
     6             char c = num.charAt(i);
     7             if (c!='0' && c!='1' && c!='6' && c!= '8' && c!= '9') return false;
     8             else if (c=='0' || c=='1' || c=='8') buf.insert(0, c);
     9             else if (c == '6') buf.insert(0, '9');
    10             else if (c == '9') buf.insert(0, '6');
    11         }
    12         return buf.toString().equals(num);
    13     }
    14 }

     O(N) time and O(1) space, use two pointers

     1 public class Solution {
     2     public boolean isStrobogrammatic(String num) {
     3         HashMap<Character, Character> map = new HashMap<Character, Character>();
     4         map.put('1','1');
     5         map.put('0','0');
     6         map.put('6','9');
     7         map.put('9','6');
     8         map.put('8','8');
     9         int left = 0, right = num.length() - 1;
    10         while(left <= right){
    11             // 如果字母不存在映射或映射不对,则返回假
    12             if(!map.containsKey(num.charAt(right)) || num.charAt(left) != map.get(num.charAt(right))){
    13                 return false;
    14             }
    15             left++;
    16             right--;
    17         }
    18         return true;
    19     }
    20 }
  • 相关阅读:
    软件工程问题清单
    问题清单
    2020软件工程3作业
    2020软件工程作业02
    2020软件工程作业01
    2020软件工程个人作业06——软件工程实践总结作业
    2020软件工程作业03
    2020软件工程作业05
    软件工程作业 疑问总结
    2020软件工程作业04
  • 原文地址:https://www.cnblogs.com/EdwardLiu/p/5062385.html
Copyright © 2011-2022 走看看