246-中心对称数

中心对称数

题目

中心对称数是指一个数字在旋转了180 度之后看起来依旧相同的数字(或者上下颠倒地看)。

请写一个函数来判断该数字是否是中心对称数,其输入将会以一个字符串的形式来表达数字。

示例 1:

输入:  "69"
输出: true

示例 2:

输入:  "88"
输出: true

示例 3:

输入:  "962"
输出: false

思路

此题对于数字有不同的要求,0,1,6,8,9旋转180°后,得到新的数字0,1,9,8,6

而其他数字旋转过后则不是数字,因此可以遍历这个数字,一旦出现对应数字则替换,之后比较两个数字是否相同即可.

代码没有验证过.

代码

class Solution {
    public boolean isSymmetry(int num) {
        HashMap<Character,Character> map = new HashMap<>();
        map.put('0','0');
        map.put('1','1');
        map.put('2','-');
        map.put('3','-');
        map.put('4','-');
        map.put('5','-');
        map.put('6','9');
        map.put('7','-');
        map.put('8','8');
        map.put('9','6');

        String number = num + "";
        StringBuilder stringbuilder = new StringBuilder();
        for(int i =number.length()/2-1;i>=0;i--){
            if(map.get(number.charAt(i)) == '-'){
                return false;
            }
            stringbuilder.append(map.get(number.charAt(i)));
        }
        String substring = number.substring(number.length() / 2);
        if(stringbuilder.toString().equals(substring)){
            return true;
        }else{
            return false;
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 多数人眼里,数字就是数学的全部。他们眼里的数学家,就是天天数数,大数,更大的数,然后给它们起一些洋气的名字。我曾经...
    Pasu阅读 5,938评论 11 7
  • 第一章数和数的运算 一概念 (一)整数 1整数的意义 自然数和0都是整数。 2自然数 我们在数物体的时候,用来表示...
    meychang阅读 7,577评论 0 5
  • 周二的早上,天阴阴的,昨天天气预报还说只是多云呢,今儿早上就变成中雨了,什么玩意儿啊,这叫预报啊,叫天气实时记录得...
    走失的大象阅读 1,111评论 0 0
  • 落花无蕊空飞色。 乱絮随风,零乱叱窸窣。 飞燕不谙愁离苦,斜风穿柳觅无处。 心侧八画何所委? 凝云惨淡,憔悴奈何诉...
    允澈Echo阅读 3,318评论 0 47
  • 下课后,看到一条QQ短信,是新来的舞蹈老师李老师发来的,说我班上一个同学上课不听话,让她去教室外面站着,结果...
    丁香一样的女子阅读 3,621评论 1 1