482. 密钥格式化
题干
https://leetcode-cn.com/problems/license-key-formatting/
代码
class Solution { public: string licenseKeyFormatting(string s, int k) { int cnt = 0; string a; for (int i = s.size() - 1; i >= 0; i--) { if (s[i] != '-') { a.push_back(toupper(s[i])); cnt++; if (cnt % k == 0) { a.push_back('-'); } } } if (a.size() > 0 && a.back() == '-') { a.pop_back(); } string ss; for (int i = a.size() - 1; i >= 0; i--) { ss.push_back(a[i]); } return ss; } };
写题过程错误
#include <bits/stdc++.h> #include <iostream> using namespace std; int main() { string s, a; int k; cin >> s >> k; int cnt = 0; for (int i = s.size() - 1; i >= 0;i--) { //错题:此处不能用size_t这种类型,会陷入死循环,一直为真 if (s[i] != '-') { a.push_back(toupper(s[i])); cnt++; if (cnt % k == 0) { a.push_back('-'); } } } if (a.size() > 0 && a.back() == '-') { a.pop_back(); } reverse(a.begin(), a.end()); cout << a; return 0; }

浙公网安备 33010602011771号