题解 | #回文数判断#

回文数判断

http://www.nowcoder.com/practice/b685d58f237c4214ada27161304a74a3

题目的主要信息:

  • 输入的五位数字是回文是则返回true,否则返回false

具体做法:

我们先用String类的valueOf方法将int型数字转变成字符串,然后从字符串首尾开始往中间遍历,比较遍历到的字符是否相等,一旦有不等则不是回文数,否则全部遍历完以后就是回文数。

alt

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        Main main = new Main();
        int number = console.nextInt();
        System.out.println(main.palindromeNumber(number));
    }
    public Boolean palindromeNumber(int number){
        String s = String.valueOf(number); //数字转成字符串
        int left = 0;
        int right = s.length() - 1;
        while(left < right){ //首尾依次比较
            if(s.charAt(left) != s.charAt(right))
                return false;
            left++; //向中间缩进
            right--;
        }
        return true;
    }
}

复杂度分析:

  • 时间复杂度:O(1)O(1),5位数,字符串长度只有5,属于常数时间
  • 空间复杂度:O(1)O(1),长度为5的字符串也是常数空间
孤帆远影碧空尽 文章被收录于专栏

牛客网各类题单题解~

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务