判斷一個整數是否為迴文數 Check if a number is palindrome

來源:互聯網
上載者:User

一種方法是先翻轉當前數,然後把它和原數比較(略)

另一種是遞迴方法,借用一個複製數,對原數遞迴,使之翻轉,然後配合複製數比較


package recursion;public class Check_if_a_number_is_palindrome {public static void main(String[] args) {int num = 121321;System.out.println(check(num));num = 12321;System.out.println(check(num));num = 123321;System.out.println(check(num));}// 一種方法是先翻轉當前數,然後把它和原數比較(略)// 另一種是遞迴方法static int dupNum;public static boolean check(int num) {dupNum = num;// 複製一份原數return rec(num);}public static boolean rec(int num) {if(isSingleDigit(num)) {return num == dupNum%10;}// 通過遞迴使得num:121->12->1 相當於從原數的左到右進行比較if(!rec(num/10)){// 之前比較已經失敗了,就無需繼續比較return false;} else {dupNum /= 10;return num%10 == dupNum%10;// 取原數的最後一位和遞迴數的最後一位進行比較}}// 輔助函數:判斷是否是個位元public static boolean isSingleDigit(int num) {if(num >= 0 && num < 10) {return true;} else {return false;}}}



http://www.geeksforgeeks.org/check-if-a-number-is-palindrome/






聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.