1. 程式人生 > >[LeetCode] 9. Palindrome Number

[LeetCode] 9. Palindrome Number

etc out 轉換 空間 target 要求 num 感覺 如何

傳送門

Description

Determine whether an integer is a palindrome. Do this without extra space.

思路

題意:判斷輸入的整數是否是一個回文數,要求不允許使用額外的空間

題解:可以肯定的是小於0以及尾數為0的整數不是回文數,那麽剩下的如何在不使用額外的空間判斷是否是回文的呢,此題感覺這個不使用額外的空間是為了限制我們不將他轉換為字符串。如果是連一個變量的不能使用的話,具體做法可以查看discuss。

class Solution {
public:
    //109
    bool
isPalindrome(int x) { if(x<0|| (x!=0 &&x%10==0)) return false; int sum=0; while(x>sum) { sum = sum*10+x%10; x = x/10; } return (x==sum)||(x==sum/10); } };

[LeetCode] 9. Palindrome Number