標籤:輸入 static stat ret rem img 字元數組 image 第一個
(1) 使用遞迴方式判斷某個字串是否是迴文( palindrome );
“迴文”是指正著讀、反著讀都一樣的句子。比如“我是誰是我”
使用遞迴演算法檢測迴文的演算法描述如下:
A single or zero-character string is a palindrome.
Any other string is a palindrome if the first and last characters are the same, and the string that remains, excepting those characters, is a palindrome.
1 package 遞迴迴文; 2 import java.util.*; 3 public class Huiwen{ 4 static Scanner x=new Scanner(System.in); 5 static char strs[] = new char[1000]; 6 static int j=0; 7 public static void main(String[] args) { 8 String s = x.next();//從鍵盤輸入 9 for(int i=0;i<s.length();i++) {//轉化為字元數組10 strs[j] = s.charAt(i);11 j++;12 }13 boolean huiwen = isHuiwen(strs, 0, j-1,j);14 System.out.println(huiwen);15 }16 public static boolean isHuiwen(char a[],int low,int high,int length){17 if(length == 1 || length == 0)18 return true;//字元個數為1,必為迴文19 if (a[low] != a[high] || low >= high) {//第一個字元與最後一個字元比較20 return false;21 }22 return isHuiwen(a, low + 1, high -1,length -2);//遞迴23 }24 }
運行:
遞迴方法判斷迴文