#include <iostream>
#include <string>
using namespace std;
string getCountString(string& str)
{
if(str.size() == 0)
return str;
string res = "";
res += str[0];
int num = 1;
for(int i = 1; i < str.size(); ++i)
{
if(str[i] != str[i - 1])
{
res += "_" + to_string(num) + "_" + str[i];
num = 1;
}
else
++num;
}
return res + "_" + to_string(num);
}
char getCharAt(string& cstr, int index)
{
if(cstr.size() == 0)
return 0;
bool stage = true;
char cur = 0;
int num = 0;
int sum = 0;
for(int i = 0; i < cstr.size(); ++i)
{
if(cstr[i] == '_')
stage = !stage;
else if(stage)
{
sum += num;
if(sum > index)
return cur;
cur = cstr[i];
num = 0;
} else {
num = num * 10 + cstr[i] - '0';
}
}
return sum + num > index ? cur : 0;
}
int main()
{
string str = "aaabbadddffc";
cout << getCountString(str) << endl;
str = "a_100_b_2_c_4";
cout << getCharAt(str, 105) << endl;
}
字符串的統計字符串
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.