回文數字的三種解法

2021-06-19 16:32:57 字數 594 閱讀 2462

要求:在不使用額外空間的前提下,判斷乙個數字是否是回文數字,例如12321是回文,1234521不是回文

回文數字的最大特徵就是最後乙個數字和第乙個數字相等,由此可以得出兩個特徵

1、回文數字反轉之後,跟反轉之前的值相等

2、回文數字首尾是對稱的

基於上述兩個特徵,可以衍生下面三個演算法

/*

* 解法一: 將數字反轉,只需要判斷反轉前後是否相等即可 但是需要注意,如果數字過大可能導致溢位的問題

*/public int reversenumbers(int number)

return rev;

} /*

* 解法二:一次比較數字的頭和尾,如果相等,去掉頭和尾,再進行比較

*/public boolean ispalindrome(int x)

while (x != 0)

return true;

} /*

* 解法三: 如果在棧空間不算額外空間的條件下,可以使用遞迴的解法

*/boolean ispalindrome(int x, int y) else

}

最長回文字串的三種解法

題目描述 給定乙個字串s,找到s中最長的回文子串。你可以假設s的最大長度為 1000。示例 1 輸入 babad 輸出 bab 注意 aba 也是乙個有效答案。示例 2 輸入 cbbd 輸出 bb 想看 的這裡 method one 暴力演算法 解析 暴力演算法就是字串的每乙個可能的字串進行判斷 時...

LetCode PlusOne的三種解法

原題目 given a number represented as an array of digits,plus one to the number.題目的意思是乙個用陣列表示的數字,在加一後仍然用這個陣列表示,加一後位數可能會增加,故最好用vector表示.class plusone priva...

逆元的三種解法

逆元 當求解公式 a b m 時,由於b a時,a b 0,所以需變除法為乘法 設c是b的逆元,則有b c 1 mod m 則 a b m a b 1 m a b bc m ac mod m 即a b的模等於a b的逆元的模 1.費馬小定理 在是素數的情況下,對任意整數都有。如果無法被整除,則有。可...