Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<string>
- #include"encode.h"
- using namespace std;
- string encode(const string &data){
- string res=""; //要回傳的答案
- unsigned sameCnt = 1; //計算現在字元重複連續出現的次數
- for(size_t i = 0; i < data.size(); ++i){
- if( i && data[i] == data[i-1] ){
- ++sameCnt;
- }else{
- if(sameCnt >= 2){
- res += (sameCnt+'0');
- res += data[i-1];
- } else {
- res += data[i-1];
- }
- //發現現在的字元和前一個字元不一樣的時候該怎辦呢?
- sameCnt = 1;
- }
- }
- if( sameCnt >= 2 ){
- res += (sameCnt+'0');
- res += data[data.size()-1];
- }
- string temp;
- for(int i=1;i<data.size();i++){
- temp += res[i];
- }
- return temp;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement