当前位置:   article > 正文

C++ | Leetcode C++题解之第13题罗马数字转整数

C++ | Leetcode C++题解之第13题罗马数字转整数

题目:

题解:

  1. class Solution {
  2. private:
  3. unordered_map<char, int> symbolValues = {
  4. {'I', 1},
  5. {'V', 5},
  6. {'X', 10},
  7. {'L', 50},
  8. {'C', 100},
  9. {'D', 500},
  10. {'M', 1000},
  11. };
  12. public:
  13. int romanToInt(string s) {
  14. int ans = 0;
  15. int n = s.length();
  16. for (int i = 0; i < n; ++i) {
  17. int value = symbolValues[s[i]];
  18. if (i < n - 1 && value < symbolValues[s[i + 1]]) {
  19. ans -= value;
  20. } else {
  21. ans += value;
  22. }
  23. }
  24. return ans;
  25. }
  26. };
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/687060
推荐阅读
相关标签
  

闽ICP备14008679号