【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;
	}
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章