一、判斷一個字符串是否為回文,用遞歸的方法實現。
二、大體思路:
1、輸入一個字符串;
2、將字符串存到字符數組中再進行前后對應字符的比較;
3、直到滿足剩余最后一個或零個字符時,才是回文;
三、源代碼:
1 package org.yuan.Day2; 2 3 import java.util.Scanner; 4 5 public class Palindrome { 6 7 public static void main(String[] args) { 8 System.out.println("請輸入一個字符串:"); 9 Scanner sc=new Scanner(System.in); 10 String s = sc.next(); 11 boolean huiwen = palindrom(s, 0 , s.length() ); 12 System.out.println(huiwen); 13 sc.close(); 14 } 15 public static boolean palindrom(String s,int i,int length){ 16 if(length-2*i == 1 || length-2*i == 0) 17 return true;//當滿足到最后剩余字符個數為1或0時,才為回文 18 if ((s.toCharArray()[i] != s.toCharArray()[length-1-i]) || (i >= length-1-i)) { //將字符串轉換成字符數組,比較前后對應字符是否相等 19 return false; 20 } 21 return palindrom(s, ++i, length);//遞歸 22 } 23 } 24
運行截圖:
四、總結:
遞歸就是自己調用自己,重復相同的步驟,但是有限制條件能夠來結束這個遞歸函數。遞歸可以將復雜的問題分成一個一個小問題,大大的減少代碼量。