Para inverter uma string, percorra-a com um loop e troque os caracteres das extremidades até o meio.
Passo 1
Beleza, a gente quer inverter uma string (tipo “olá” vira “ál o”). Isso entra no campo de algoritmos e manipulação de strings. Para resolver isso a gente vai precisar entender que uma string é só um array de caracteres, usar um loop pra percorrer do começo ao fim e trocar, com uma variável temporária, o caractere da ponta esquerda pelo da ponta direita até chegar no meio.
Passo 2
Antes de codar, sacou a teoria?
- Se a string tem comprimento
, os índices vão de até . - A ideia é percorrer de
até . - Em cada passo, a gente troca
Isso garante que o primeiro vai pro último, o segundo pro penúltimo, e por aí vai, até cruzar o meio.
Passo 3
Vamos montar um pseudo-código beeem de boa:
função inverterString(s):
n ← tamanho de s // n = |s|
i ← 0
enquanto i < n/2 faça: // ou i ≤ (n-1)/2
j ← n - 1 - i
temp ← s[i]
s[i] ← s[j]
s[j] ← temp
i ← i + 1
retorne s
Passo 4
Exemplo prático com s = “abCde”:
- n = 5
- Iteração 1: i=0, j=4
temp=‘a’, troca ‘a’↔’e’ → s = “ebCda” - Iteração 2: i=1, j=3
temp=‘b’, troca ‘b’↔’d’ → s = “edCba” - Como agora i=2 e 2 ≥ 5/2, a gente para. O resultado é “edCba”.
Resposta
O algoritmo acima inverte qualquer string usando um loop que troca caracteres das extremidades até o meio.