File tree Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change 1+ // https://leetcode.com/problems/roman-to-integer/
2+ class Solution {
3+ public int symbol_value(char A)
4+ {
5+ if(A=='I')
6+ return 1;
7+ else if(A=='V')
8+ return 5;
9+ else if(A=='X')
10+ return 10;
11+ else if(A=='L')
12+ return 50;
13+ else if(A=='C')
14+ return 100;
15+ else if(A=='D')
16+ return 500;
17+ else if(A=='M')
18+ return 1000;
19+
20+
21+
22+ return 0;
23+ }
24+ public int romanToInt(String s) {
25+ int sum=0,pre_value=0;
26+ for(int i=0;i<s.length();i++)
27+ {
28+ int p=symbol_value(s.charAt(i));
29+ sum+=p;
30+ if(pre_value==1 && (p==5|| p==10))
31+ sum-=2;
32+ else if(pre_value==10 && (p==50|| p==100))
33+ sum-=20;
34+ else if(pre_value==100 && (p==500|| p==1000))
35+ sum-=200;
36+ pre_value=p;
37+
38+ }
39+
40+ return sum;
41+ }
42+ }
You can’t perform that action at this time.
0 commit comments