递归解决字符串回文判断问题

思路

1.首先定义一个字符串,并对其初始化。

2.设置一个函数,对字符串的首尾进行比较,如果相同,则递归使用,对字符串的第二个和倒数第二个进行比较,直到比较完,输出true;如果不相同,就输出false。

3.递归结束条件即是比较到第一个字符

30分钟调试出代码

源代码

package sizeyunsuan;
import java.util.Scanner;
public class Huiwen
{
  public static void main(String [] args)
  {
   System.out.print("Please input a string:");
   Scanner sca=new Scanner(System.in);
   String str=sca.nextLine();
   System.out.println(str+"is a Huiwen.true or false?");
   int t=str.length()-1;
   if((t+1)==0)
    System.out.println("true");
   int n=0;
   complete(n,str,t);
  }
  public static void complete(int n,String str,int t)
  {
   int s=t+1;
   if(s==1)
    System.out.println("true");
   if(str.charAt(n)==str.charAt(t))
    complete(++n,str,--t);
   else
    System.out.println("false");
  
  }
}
   

测试截图:

总结收获:

1.理解了递归的原理,能够较好的使用递归去解决问题。

2.知道了自己对编程方面的不足之处,并做好计划解决。

猜你喜欢

转载自www.cnblogs.com/2210633591zhang/p/11586704.html