Pergunta de entrevista da empresa HomeLight

Given a string can you implement an algorithm to generate all possibilities of combination between the characters considering uppercase and downcase?