博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
9. Palindrome Number - Easy
阅读量:6302 次
发布时间:2019-06-22

本文共 1191 字,大约阅读时间需要 3 分钟。

Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.

Example 1:

Input: 121Output: true

Example 2:

Input: -121Output: falseExplanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.

Example 3:

Input: 10Output: falseExplanation: Reads 01 from right to left. Therefore it is not a palindrome.

Follow up:

Coud you solve it without converting the integer to a string?

 

M1: 转换成string

time: O(n), space: O(n)

class Solution {    public boolean isPalindrome(int x) {        String s = Integer.toString(x);        int i = 0, j = s.length() - 1;        while(i <= j) {            if(s.charAt(i) != s.charAt(j))                return false;            i++;            j--;        }        return true;    }}

M2: 把x反转过来rev,最后如果x=rev,说明是palindrome

time: O(length of x), space: O(1)

class Solution {    public boolean isPalindrome(int x) {        if(x < 0) return false;        int rev = 0;        int xx = x;        while(xx > 0) {            rev = rev * 10 + xx % 10;            xx /= 10;        }        return x == rev;    }}

 

转载于:https://www.cnblogs.com/fatttcat/p/10133225.html

你可能感兴趣的文章
关于项目数据库设计--投票系统
查看>>
MySql优化--使用索引优化
查看>>
[Go] 数组 和 切片(array、slice)
查看>>
关于Cocos2d-x运行项目时弹框崩溃的解决
查看>>
时间管理的基本程序
查看>>
phalcon 前端代码结构
查看>>
Oracle round函数是什么意思?怎么运用?
查看>>
Hadoop Hive概念学习系列之hive里的扩展接口(CLI、Beeline、JDBC)(十六)
查看>>
su su- sudo的区别
查看>>
Linux SD/MMC/SDIO驱动分析
查看>>
netty 解决TCP粘包与拆包问题(一)
查看>>
逻辑斯特回归(logistic regression)与最大熵模型(maximum entropy model)
查看>>
Javascript隐式转换
查看>>
mac brew install redis 报错
查看>>
nginx系统真正有效的图片防盗链完整设置详解
查看>>
nginx配置文件详解
查看>>
git的常用命令
查看>>
类集对enum的支持。
查看>>
Spring Data Redis实现消息队列——发布/订阅模式
查看>>
源码安装php时出现configure: error: xml2-config not found. Please check your libxml2 installation...
查看>>