2023每日刷題(三十七)
Leetcode—13.羅馬數字轉整數
算法思想
當前位置的元素比下個位置的元素小,就減去當前值,否則加上當前值
實現代碼
int getValue(char c) {switch(c) {case 'I':return 1;case 'V':return 5;case 'X':return 10;case 'L':return 50;case 'C':return 100;case 'D':return 500;case 'M':return 1000;}return 1;
}int romanToInt(char* s) {int len = strlen(s);int ans = 0;int i = 0;int cur = 0, nxt = 0;while(i < len) {if(i + 1 == len) {cur = getValue(s[i]);ans += cur;} else {cur = getValue(s[i]);nxt = getValue(s[i + 1]);if(cur < nxt) {ans += nxt - cur;i += 2;continue;} else {ans += cur;}}i++;}return ans;
}
運行結果
之后我會持續更新,如果喜歡我的文章,請記得一鍵三連哦,點贊關注收藏,你的每一個贊每一份關注每一次收藏都將是我前進路上的無限動力 !!!↖(▔▽▔)↗感謝支持!