题解 | #字符串分隔#
字符串分隔
http://www.nowcoder.com/practice/d9162298cb5a437aad722fccccaae8a7
- 注意我写的这一套模板
int times = s.size()/8; int remain = s.size()%8;
- 这种分段是处理最后一步要break,用最后的输出,如果是中途的话那就次次都输出。
- 最后一步跳入逻辑 i+1 == times。 以及先判断有余数times++,然后余数为0,余数变8
#include<iostream> #include<algorithm> #include<string> using namespace std; int main(){ string s; while(cin>>s){ string tar = ""; int times = s.size()/8; int remain = s.size()%8; if(remain!=0) times++; if(remain==0) remain=8; for(int i = 0; i< times;i++){ if( i + 1 == times){ for(int j = i*8; j< i*8 + remain;j++){ tar+=s[j]; } for(int k = 0; k< 8-remain;k++){ tar+="0"; } break; } string tar_1 = ""; for(int j = i*8; j< (i+1)*8 ;j++){ tar_1+=s[j]; } cout<<tar_1<<endl; } cout<<tar<<endl; } return 0; }
算法解析 文章被收录于专栏
这里主要是算法岗的自我思路总结