题目
将字符串 “PAYPALISHIRING” 以Z字形排列成给定的行数:(下面这样的形状)
P A H N
A P L S I I G
Y I R
之后按逐行顺序依次排列:”PAHNAPLSIIGYIR”
实现一个将字符串进行指定行数的转换的函数:
string convert(string text, int nRows);
convert(“PAYPALISHIRING”, 3) 应当返回 “PAHNAPLSIIGYIR” 。
分析
- 解题方法有两种
- 传统方法:利用二维数组按照题目描述放置元素,然后按行遍历
- 优化方法:利用数学方程得出每个元素在最后的输出位置的表达式,直接输出最后位置
- 下面用第一种方法解答,达到练手的目的