Java递归基础案例-回文字符串的判断

简介: Java递归基础案例-回文字符串的判断

题目解析:


回文字符串就是正读倒读都一样的字符串。如”98789”, “abccba”都是回文字符串


package Action;
public class test {
  public static void main(String[] args) {
  //只返回对错,我用三目判断了一下
  System.out.println((f("你爱我,我爱你")?"是":"不是")+"回文串");
  }
  public static boolean f(String s){
        int start = 0;//控制循环相当于初始值i=0
        int end = s.length()-1;//相当于表达式i<length-1,不越界
        //可以理解成如果有单个的char就直接跳到结束了
        if(end > start){//递归终止条件:两个指针相向移动,当start超过end时,完成判断
            if(s.charAt(start) != s.charAt(end)){
              //如果有不相等的,那就直接返回false
                return false;
            }else{
                //递归调用,缩小问题的规模
              //字符串截取,直至最后1对char,这个好理解,每次截取都缩小范围
              System.out.println("本次范围:"+s.substring(start+1).substring(0, end-1));
                return f(s.substring(start+1).substring(0, end-1));
            }
        }
        return true;
    }
}


输出效果:


本次范围:爱我,我爱

本次范围:我,我

本次范围:,

是回文串


这个就稍微再次加深了一点难度,加上了点字符串函数和char的理解,希望好好看看啊。  


相关文章
|
1月前
使用ueditor实现多图片上传案例——实体类(Shopping.java)
使用ueditor实现多图片上传案例——实体类(Shopping.java)
18 0
|
1月前
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
22 1
|
24天前
|
SQL 设计模式 安全
Java单例模式几种写法以及代码案例拿来直接使用
Java单例模式几种写法以及代码案例拿来直接使用
32 0
|
1月前
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
15 1
|
1月前
|
Java 数据库连接 mybatis
mybatis简单案例源码详细【注释全面】——实体层(User.java)
mybatis简单案例源码详细【注释全面】——实体层(User.java)
13 0
|
8天前
|
Java 关系型数据库 MySQL
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
UWB (ULTRA WIDE BAND, UWB) 技术是一种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。一套UWB精确定位系统,最高定位精度可达10cm,具有高精度,高动态,高容量,低功耗的应用。
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
|
23天前
|
搜索推荐 Java
Java基础(快速排序算法)
Java基础(快速排序算法)
24 4
|
1月前
|
Java 数据库连接 mybatis
mybatis简单案例源码详细【注释全面】——Utils层(MybatisUtils.java)
mybatis简单案例源码详细【注释全面】——Utils层(MybatisUtils.java)
13 0
|
1月前
|
Java 数据库连接 mybatis
mybatis简单案例源码详细【注释全面】——测试层(UserMapperTest.java)
mybatis简单案例源码详细【注释全面】——测试层(UserMapperTest.java)
9 0
|
1月前
|
Java 数据库连接 mybatis
mybatis简单案例源码详细【注释全面】——实体层(Role.java)
mybatis简单案例源码详细【注释全面】——实体层(Role.java)
7 0