关于回环变位

public class Ex6 {

	// 如果字符串s和t互为回环变位,则s可分解为“AB”,t可分解为“BA”。那么t与自身拼接后则为“BABA”,显然是会包含s的
	public static boolean isCircularRotation(String s, String t) {
		return s.length() == t.length() && (s + s).contains(t);
	}

	// 从不同的索引位置将字符串t分解成两个子串,交换顺序拼接后再与s相比是否相等
	public static boolean isCircularRotation2(String s, String t) {
		if (s.length() != t.length()) {
			return false;
		}

		for (int i = 1; i < s.length(); i++) {
			String left = s.substring(0, i);
			String right = s.substring(i, s.length());
			if ((right + left).equals(t)) {
				return true;
			}
		}
		return false;
	}

	// 已知字符串S逆序的递归实现
	public static String mystery(String s) {
		int N = s.length();
		if (N <= 1) return s;
		String s1 = s.substring(0, N / 2);
		String s2 = s.substring(N / 2, N);
		return mystery(s2) + mystery(s1);
	}

	public static void main(String[] args) {

	}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值