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 }
  • 相关阅读:
    docker搭建主从复制mysql
    mysql主从复制(mariadb)
    docker搭建mysql8.0
    docker安装mysql
    终端配置kxsw
    AJAX教程
    移动端常见布局
    css为什么需要精灵图
    元素的显示与隐藏
    css网页布局总结
  • 原文地址:https://www.cnblogs.com/EdwardLiu/p/5062385.html
Copyright © 2011-2022 走看看