如果乙個數的反向倒置數和它的順向數一樣,那麼這個數稱為回文數。編寫乙個測試程式,提示使用者輸入乙個整數值,然後報告這個數是不是回文數。
我先後一共寫了三個函式。
方法一:由於題目要求輸入的是整數值,所以按照整數的方法倒置數字,與原數比較即可。
public class palindrom
public static boolean ispalindrom(int num)
public static int reverse(int num)
else
}}
但是這種方法是錯誤的。如reverse(101)的結果其實是11而非101,原因是101%10^2的結果是1而不是01。
方法二:將數字當做字串,將字串倒置後比較。
public class palindrom
public static boolean ispalindrom(int num)
public static string reverse(string string) else
}}
方法三:在學習了
stringbuilder類之後,利用stringbuilder中reverse()方法。
public class palindrom
public static boolean ispalindrom(int num)
}
判斷回文數
回文 是指正讀反讀都能讀通的句子,它是古今中外都有的一種修辭方式和文字遊戲,如 我為人人,人人為我 等。在數學中也有這樣一類數字有這樣的特徵,成為回文數 palindrome number 設n是一任意自然數。若將n的各位數字反向排列所得自然數n1與n相等,則稱n為一回文數。例如,若n 123432...
回文數判斷
leetcode上關於回文數的解法 出現的問題 error signed integer overflow 846384741 10 cannot be represented in type int solution.cpp 在進行回文數練習時,使用的如下解法 bool ispalindrome ...
判斷回文數
回文數 乙個非負數,從左到右和從右到左看,都是一樣的。例如 1,131,1001 如何判斷乙個數是否為回文數?把數字轉化為字元,然後逆序排列得到乙個新字元,再比較新字元和舊字元是否相等。def ispalindrome num numstr str num if numstr numstr 1 re...