Подход к решению вопроса leetcode 13 — Roman to Integer
- В этом вопросе может быть два условия: во-первых, если это обычное число, такое как «III», «XX» или «V», мы просто продолжаем добавлять соответствующее целое число этого символа.
- или могут быть такие символы, как «IV» (4) или «XLIV» (44). В таких символах мы можем видеть, что если мы обычно добавим все символы, они станут такими:
I + V = 6 (но на самом деле 4) или X+L+I+V = 10+50+1+5 = 66 (но на самом деле 44)
в этих примерах мы видим, что если предыдущий символ меньше, чем его следующий символ, то мы не можем просто добавить их как обычно, вместо этого мы должны сделать так:
I + V = 6 , мы можем сделать (текущее значение — 2 * предыдущее значение), чтобы оно стало
6–2*1 = 4 (что правильно) то же, что X+L = 60, но (60–2*10) равно 50, что правильно.
3. Таким образом, мы будем перебирать строку и продолжать добавлять значение к итогу и возвращать итог в конце.