leetcode 459、重複的子字符串

題目大意:

給定一個非空的字符串,判斷它是否可以由它的一個子串重複多次構成。給定的字符串只含有小寫英文字母,並且長度不超過10000。

代碼:

class Solution {
    public boolean repeat(String s,String ss) {//判斷s是否爲ss重複構成
		int len = ss.length();
		int group = s.length() / ss.length();
		for(int i = 0; i < group; i++) {
			String tmp = s.substring(i * len,(i + 1) * len);
			if(!ss.equals(tmp))return false;
		}
		return true;
	}
	
	public boolean repeatedSubstringPattern(String s) {
		int length = s.length();
        char last = s.charAt(s.length() - 1);
        for(int i = 0; i < s.length() / 2; i++) {
        	if(s.charAt(i) == last && length % (i + 1) == 0) {
        		String ss = s.substring(0,i+1);
        		boolean ans = repeat(s,ss);
        		if(ans) return true;
        	}
        }
		return false;
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章