LeetCode-6-Z字形变换
/*Z字形变换*/
#include<iostream>
#include<string>
using namespace std;
char s[100];
char str[100][100];
void main(){
cin >> s;
int num;
cin >> num;
int len = strlen(s);
//初始化
for (int i = 0; i < num; i++){
for (int j = 0; j < len; j++){
str[i][j] = '*';
}
}
int row = 0, col = 0;
int flag = 0;//加的状态
//将进行Z变换后的形象存入str二维数组
str[row][col] = s[0];
for (int i = 1; i < len; i++){
if (flag == 0){
row++;
str[row][col] = s[i];
if (row == num - 1){
flag = 1;
i++;
}
}
if (flag == 1&&i<len){
row--;
col++;
str[row][col] = s[i];
if (row == 0){
flag = 0;
}
}
}
//输出
for (int i = 0; i < num; i++){
for (int j = 0; j <= col; j++){
if (str[i][j] != '*'){
cout << str[i][j];
}
}
}
cout << endl;
}