迴文數問題

名字長就有小可愛跟著念發表於2020-12-02

這裡以java語言來實現:

來個例子:

判斷一個整數是否是迴文數。迴文數是指正序(從左向右)和倒序(從右向左)讀都是一樣的整數。

示例 1:

輸入: 121
輸出: true
示例 2:

輸入: -121
輸出: false
解釋: 從左向右讀, 為 -121 。 從右向左讀, 為 121- 。因此它不是一個迴文數。
示例 3:

輸入: 10
輸出: false
解釋: 從右向左讀, 為 01 。因此它不是一個迴文數。

來源:力扣(LeetCode)

分析:

如何能夠更好的判斷一個數是否是迴文數,我們首先看下它的特徵,對稱!!
說到這裡我們就有了一個思路,首先我們把這個數,看做是一個數字陣列,如何判斷呢?很容易想到判斷第一個數和最後一個數是否相等,若相等則判斷第二個數和倒數第二個數是否相等,以此類推

下面,直接看程式碼:

import java.util.*;
public class M1 {
	    public static void main(String[] args) {
	    	Scanner in = new Scanner(System.in);
	    	int x=in.nextInt();
	    	boolean t=isPalindrome(x);
	    	System.out.println(t);

   	
	  
	    }   
	    public static boolean isPalindrome(int x) {
	    	String s = String.valueOf(x);//將整數變為字串

	       char q[]=s.toCharArray();//將字串變為字元陣列
	    	boolean t=true;
	    	int i=0;
	    	int j=s.length();
	    	while(i<=j) {//臨界條件
	    		if(q[i]==q[j-1]) {//判斷是否相等
	    			i++;
	    			j--;
	    		}
	    		else {//不對稱直接跳出迴圈
	    			t=false;
	    			break;
	    		}
	    	}
	  
         return t;
	    }
}

相關文章