牛客题05-判断回文

牛客题05-判断回文

①将所给字符串倒叙反转生成新的字符串,比较新旧字符串是否相等
(即是反转字符串的三种方法)
只用reverse没有超时,剩下的两种方法均超时

public boolean judge (String str) {
        // write code here
        if(new StringBuilder(str).reverse().toString().equals(str))
            return true;
        else
            return false;
    }

在这里插入图片描述

②设定两个标识,left,right
left指向字符串所比较部分的最左边的字符
right指向字符串所比较部分的最右边的字符
left逐渐右移,right逐渐左移
直到相遇都相等则是回文否则不是

 public boolean judge (String str) {
        // write code here
         int left = 0;
        int right = str.length()-1;
        while(str.charAt(left) == str.charAt(right)){
            left++;
            right--;
            
            if(left >= right)//字符串长度为奇数个时相等
            					  //字符串长度为偶数个时left < right(错过了)
                return true;
        }
        return false;
    
    }

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值