【3】Longest Substring Without Repeating Characters (2019年1月22日,复习)

【5】Longest Palindromic Substring (2019年1月22日,复习)

【6】ZigZag Conversion (2019年1月22日,复习)

【8】String to Integer (atoi) (2019年1月22日,复习)

【10】Regular Expression Matching (2019年1月22日,复习)

 

【12】Integer to Roman (2019年1月22日,复习)

 

【13】Roman to Integer (2019年1月22日,复习)

罗马数字转换成整数。

题解:用一个map来存储映射关系。

【LeetCode】字符串 string(共112题)
 1 class Solution {
 2 public:
 3     int romanToInt(string s) {
 4         const int n = s.size();
 5         initMap();
 6         int idx = 0;
 7         int ret = 0;
 8         while (idx < n) {
 9             if (idx + 1 == n) {
10                 string temp = string(1, s[idx]);
11                 ret += mp[temp];
12                 idx++;
13                 continue;
14             }
15             string str = s.substr(idx, 2);
16             if (mp.find(str) != mp.end()) {
17                 ret += mp[str];
18                 idx += 2;
19             } else {
20                 string temp = string(1, s[idx]);
21                 ret += mp[temp];
22                 idx++;
23             }
24         }
25         return ret;
26     }
27     unordered_map<string, int> mp;
28     void initMap() {
29         mp["IV"] = 4, mp["IX"] = 9;
30         mp["XL"] = 40, mp["XC"] = 90;
31         mp["CD"] = 400, mp["CM"] = 900;
32         mp["I"] = 1, mp["V"] = 5, mp["X"] = 10, 
33         mp["L"] = 50, mp["C"] = 100, mp["D"] = 500,
34         mp["M"] = 1000;
35     }
36 };
View Code

相关文章:

  • 2022-01-05
  • 2021-08-22
  • 2021-08-14
  • 2021-05-18
  • 2022-02-25
  • 2021-06-13
  • 2022-01-16
猜你喜欢
  • 2022-12-23
  • 2021-09-22
  • 2021-10-25
  • 2022-03-05
  • 2021-06-23
  • 2022-12-23
  • 2021-12-02
相关资源
相似解决方案