LeetCode :C語言 13羅馬數字轉整數
阿新 • • 發佈:2018-12-16
這道題寫的時候思路也比較清晰,唯一有點困惑的是判斷字串的長度。(用了while迴圈來判斷。)
int charToInt(char ch) { switch(ch) { 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; default:return 0; } } int romanToInt(char* s) { int count = 0; int sum = 0; if(s==NULL) return 0; while(s[count]!='\0') { if(charToInt(s[count])<charToInt(s[count+1])) { sum = sum + charToInt(s[count+1]) - charToInt(s[count]); count++; } else sum = sum + charToInt(s[count]); count++; } return sum; }
總結:用C寫的話還是有很多不便吧,作為門外漢的我覺定之後先使用C++的STL來簡化操作。