翻转子串(思路:假定两个字符串已经是翻转)


题目描述

假定我们都知道非常高效的算法来检查一个单词是否为其他字符串的子串。请将这个算法编写成一个函数,给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成,要求只能调用一次检查子串的函数。

给定两个字符串s1,s2,请返回bool值代表s2是否由s1旋转而成。字符串中字符为英文字母和空格,区分大小写,字符串长度小于等于1000。

测试样例:
"Hello world","worldhello "
返回:false

"business","ssenisub"

返回:true

 

    /**
     * 
     * @param s1 传入的字符串
     * @param s2 检查字符串
     * @return 返回是否s2是由s1旋转而成
     */
	public boolean checkReverseEqual(String s1, String s2) {

		if (s1 == null || s2 == null || s1.length() != s2.length()) {
			return false;
		}
		String s3 = s2 + s2;
<span style="color:#FF0000;">		/**
		 * int java.lang.String.indexOf(String str)
		 * Returns the index within this string of the first occurrence of the specified substring.
		 * The returned index is the smallest value k for which:
		 * this.startsWith(str, k)
		 * If no such value of k exists, then -1 is returned.
		 */</span>
		int value = s3.indexOf(s1);
		if (value != -1)
			return true;
		else
			return false;
	}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lz_94

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值