编码实现函数atoi(),将字符串换为整形数。如“3210”变为3210。 11.实现在Map中移除键2、3、4,在while中实现 QMap<int,QString>tMap; tMap.insert(1,“11”); tMap.insert(2,“12”); tMap.insert(3,“13”); tMap.insert(4,“14”); tMap.insert(5,“15”); QMap<int,QString>::lteratoritor=tMapbegin(); while() {
时间: 2023-06-15 19:05:32 浏览: 127
LeetCode判断字符串是否循环-leetcode:leetcode练习,算法部分!
1 实现atoi()函数:
```cpp
#include <iostream>
using namespace std;
int atoi(const char* str) {
int res = 0;
bool is_negative = false;
if (*str == '-') {
is_negative = true;
str++;
}
while (*str >= '0' && *str <= '9') {
res = res * 10 + (*str - '0');
str++;
}
return is_negative ? -res : res;
}
int main() {
const char* str = "3210";
int num = atoi(str);
cout << num << endl; // 输出3210
return 0;
}
```
2. 移除Map中键为2、3、4的元素:
```cpp
#include <iostream>
#include <map>
using namespace std;
int main() {
map<int, string> tMap;
tMap.insert(make_pair(1, "11"));
tMap.insert(make_pair(2, "12"));
tMap.insert(make_pair(3, "13"));
tMap.insert(make_pair(4, "14"));
tMap.insert(make_pair(5, "15"));
auto iter = tMap.begin();
while (iter != tMap.end()) {
if (iter->first >= 2 && iter->first <= 4) {
iter = tMap.erase(iter);
} else {
iter++;
}
}
for (auto iter = tMap.begin(); iter != tMap.end(); iter++) {
cout << iter->first << " " << iter->second << endl;
}
return 0;
}
```
阅读全文