#include <iostream>
#include <string>
using namespace std
;
string
convert(string s
, int numRows
)
{
int len
= s
.size();
if (len
<= 1)
{
return s
;
}
else
{
int block
= 2 * numRows
- 2;
string temp
;
for (int i
= 0; i
< numRows
; i
++)
{
int index_1
= i
;
if (index_1
== 0)
{
while (index_1
< len
)
{
temp
.push_back(s
[index_1
]);
index_1
+= block
;
}
}
else if (index_1
== block
/ 2)
{
while (index_1
< len
)
{
temp
.push_back(s
[index_1
]);
index_1
+= block
;
}
}
else
{
int index_2
= block
- index_1
;
while (index_1
< len
&& index_2
< len
)
{
temp
.push_back(s
[index_1
]);
temp
.push_back(s
[index_2
]);
index_1
+= block
;
index_2
+= block
;
}
if (index_1
< len
)
{
temp
.push_back(s
[index_1
]);
}
}
}
return temp
;
}
}
int main()
{
string
s("abcdef");
string result
= convert(s
, 3);
cout
<< result
<< endl
;
return 0;
}
转载请注明原文地址: https://mac.8miu.com/read-79398.html