笔试刷题-拼多多2018-08-16
题目描述:(2018年遇到的秋招笔试)
把字符串str顺时针打印成正方形,保证长度是4倍数。
思路如下:
把字符串转化成顺序是字符串从左往右,从上往下打印的顺序,然后再按照逐行打印正方形的方式打印。
【笔试刷题-拼多多2018-08-16】代码如下:
#include
#include
#include
#include
using namespace std;
//此时调用的word一定是长度为4倍数, k为长度的4分之一
string transformWord(string word, int k){
string newWord=word.substr(0, k+1);
int i=k+1, j=4*k-1;
while(i3*k){
newWord.push_back(word[j]);
newWord.push_back(word[i]);
i++;
j--;
}
newWord+=word.substr(i, j-i+1);
reverse(newWord.begin()+3*k-1, newWord.end());
return newWord;
}
int main(){
string word;
cin>>word;
if(word.size()%4){
return -1;
}
int k=word.size()/4;
word=transformWord(word, k);
//打印第一行
for(int cur=0;
cur
推荐阅读
- 字符串拼接成段落,换行符(\n)如何只执行n-1次
- 同学聚会少了友情多了比拼,拼孩子、拼工作、比职位引发各种落差|同学聚会少了友情多了比拼,拼孩子、拼工作、比职位引发各种落差 变味的同学聚会
- 在职场打拼,拥有话语权有多重要()
- 到南京,努力拼搏!
- 关于拼多多的那些事儿
- 这位宾大教授劝告优等生(读书不要太拼!)
- 2019腾讯笔试题
- 46岁,她要拼第四胎,娱乐圈里除了她还有谁()
- 湖北人
- 当生活趋于安稳,怎样找回拼搏的动力()