判断一个字符串中是否只含有相同的子字符串(子串长度>=2)

第十题

  • 功能描述:判断一个字符串中是否只含有相同的子字符串(子串长度>=2)
  • 输入:abab
  • 返回:true
  • 输入:abcd
  • 返回:false
/**
 * 功能描述:判断一个字符串中是否只含有相同的子字符串(子串长度>=2)
 * 输入:abab 
 * 返回:true
 * 输入:abcd
 * 返回:false
 * @author lx
 * 判断一个字符串中是否'只'含有相同的子字符串,此处本人不考虑'只'
 */
public class Test {

	public static void main(String[] args) {
		System.out.println(checkString("abab"));
	}
	
	/**
	 * 思路:只有字符串长度等于3且三个字符必须相同,或者长度大于3字符串中含有相同的子字符串的情况
	 * 返回true,其余情况返回false.
	 * @param strIn
	 * @return
	 */
	public static boolean checkString(String strIn) {
		if (strIn.length() == 3) {
			if (strIn.charAt(0) == strIn.charAt(1) && strIn.charAt(1) == strIn.charAt(2)) {
				return true;
			}
		} else {
			for (int i = 2; i <= strIn.length() / 2; i++) {
				for (int j = 0; j <= strIn.length() - i; j++) {
					String str = strIn.substring(j, i + j);
					if (-1 != strIn.indexOf(str, j + 1)) {
						return true;
					}
				}
			}
		}
		return false;
	}
	
}


版权声明:本文为lenglovexu原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。