• 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.

    Solution:

     1 public class Solution {
     2     public boolean isStrobogrammatic(String num) {
     3         int p1 = 0, p2 = num.length() - 1;
     4         while (p1 <= p2) {
     5             if (!isValidPair(num.charAt(p1), num.charAt(p2)))
     6                 return false;
     7             p1++;
     8             p2--;
     9         }
    10         return true;
    11     }
    12 
    13     public boolean isValidNum(int num) {
    14         if (num == 0 || num == 1 || num == 6 || num == 8 || num == 9)
    15             return true;
    16 
    17         return false;
    18     }
    19 
    20     public boolean isValidPair(char c1, char c2) {
    21         int num1 = c1 - '0';
    22         int num2 = c2 - '0';
    23         if (!isValidNum(num1) || !isValidNum(num2))
    24             return false;
    25 
    26         if ((num1 == 6 && num2 != 9) || (num1 == 9 && num2 != 6)) {
    27             return false;
    28         } else if (num1 + num2 != 15 && num1 != num2) {
    29             return false;
    30         }
    31         return true;
    32     }
    33 }
  • 相关阅读:
    复利计算-做汉堡,结对2.0-复利计算再升级
    java集合
    java 封装,继承,多态基础
    购物车
    ajax
    演示
    实验四
    实验三
    构建之法6-7章读后感
    作业调度模拟程序
  • 原文地址:https://www.cnblogs.com/lishiblog/p/5799131.html
Copyright © 2020-2023  润新知