1071. Greatest Common Divisor of Strings
class Solution {
/**
* @param String $str1
* @param String $str2
* @return String
*/
function gcdOfStrings($str1, $str2) {
if ($str1 == $str2) {
return $str1;
}
$a = strlen($str1);
$b = strlen($str2);
if ($a == 0 && $b == 0) {
return '';
} elseif ($a == 0) {
return $str2;
} elseif ($b == 0){
return $str1;
}
if ($str1.$str2 !== $str2.$str1) {
return '';
}
if ($a > $b) {
return self::gcdOfStrings(substr($str1, $b), $str2);
} else {
return self::gcdOfStrings($str1, substr($str2, $a));
}
}
}
Last updated