Disclaimer: Não, este não é um desafio de piada para reverter uma string.
Tarefa
Há apenas uma operação para suportar: subtração ( -
).
Você também tem apenas dois átomos para suportar: zero ( 0
) e um ( 1
).
Aqui, a notação de prefixo -AB
é equivalente à notação de postfix AB-
, onde A
e B
são expressões.
Sua tarefa é (recursivamente) converter uma expressão na notação de prefixo em seu equivalente na notação postfix.
Definições
Uma expressão na notação de prefixo é gerada pela seguinte gramática:
S > -SS
S > 0
S > 1
Uma expressão na notação postfix é gerada pela seguinte gramática:
S > SS-
S > 0
S > 1
Exemplo
Prefix notation: --01-0-01
Parentheses: -(-01)(-0(-01))
Convert: (01-)(0(01-)-)-
Postfix notation: 01-001---
Regras e liberdade
- Você pode renomear a operação e os átomos para qualquer caractere, desde que seja consistente.
- O formato de entrada deve ser consistente com o formato de saída (além do fato de que a entrada está na notação de prefixo e a saída está na notação de postfix).
Caso de teste
Input Output
1 1
0 0
-01 01-
-10 10-
--01-0-01 01-001---
Testcas fornece créditos ao Dada .