【LeetCode】1071. 字符串的最大公因子

思路

枚舉法
1~min(str1.length(), str2.length())的範圍枚舉每個子串,對每個子串進行check,判斷其是否屬於將等於該字符串

代碼

class Solution {
public:
	string gcdOfStrings(string str1, string str2) {
		if (str1.empty() || str2.empty()) return "";
		for (int i = min(str1.length(), str2.length()); i > 0; i--)
		{
			if (str1.length() % i == 0 && str2.length() % i == 0)
			{
				string temp = str1.substr(0, i);
				if (check(temp, str1) && check(temp, str2)) {
					return temp;
				}
			}
		}
		return "";
	}
	bool check(string temp, string str) {
		int count = str.size() / temp.size();
		string x = "";
		for (int i = 0; i < count; i++)
		{
			x += temp;
		}
		return x==str;
	}
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章