Leetcode:Palindrome Number
生活随笔
收集整理的這篇文章主要介紹了
Leetcode:Palindrome Number
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目大意是提供一個32位整數,判斷這個數的十進制字符串形式是否是回文。所謂的回文就是字符串的逆序形式與正序形式完全一致。比如123不等于321不符合條件,121等于121符合條件,當然-1不等于1-也是不符合條件的。題目還限制了允許使用的存儲空間。
?可以簡單地利用另外一個32位整數m記錄輸入整數n的逆序形式,之后比較m是否等于n即可。時間復雜度和空間復雜度均可以認為是常數,故依舊是O(1)。
isPalindrome(n)
if(n < 0)
return false
m = 0, tmp = n
while(tmp >= 10)
m = ?m * 10 + tmp % 10
tmp = tmp / 10
return m == n / 10 && tmp == n % 10
?下面提供實現代碼:
package cn.dalt.leetcode;/*** Created by dalt on 2017/6/11.*/ public class PalindromeNumber {public boolean isPalindrome(int x) {if (x < 0) {return false;}int tmp = x;int r = 0;while (tmp >= 10) {r = r * 10 + tmp % 10;tmp /= 10;}return r == x / 10 && tmp == x % 10;} }?
轉載于:https://www.cnblogs.com/dalt/p/6985044.html
總結
以上是生活随笔為你收集整理的Leetcode:Palindrome Number的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【代码笔记】iOS-自定义loading
- 下一篇: CJOJ 1087 【NOIP2010】