Given a string we need to print the string with all possible combinations of the uppercase and lowercase characters in the string.
So given a string "abc", we need to print the following:
ABC
ABc
AbC
Abc
aBC
aBc
abC
abc
ABC
ABc
AbC
Abc
aBC
aBc
abC
abc
Solution is a simple recursive approach where we call the function again and again once with a character in lower case and another time with the same character in upper case. The code is similar to what we would write for all permutations of a string.
lowerUpper("abc", 0, 3);
function lowerUpper($str, $start, $strLength) {
if ($start === $strLength) {
var_dump($str);
return;
}
$str[$start] = strtoupper($str[$start]);
lowerUpper($str, $start+1, $strLength);
$str[$start] = strtolower($str[$start]);
lowerUpper($str, $start+1, $strLength);
}
No comments:
Post a Comment