题目描述
字符串"ZXYZXLISHIRING"写成3行的Z字形的样式如下:
Z X H N
X Z L S I I G
Y I R
按行读这个Z字形图案应该是 “ZXHNXZLSIIGYIR”
请编写代码完成将字符串转化为指定行数的Z字形字符串
思路
题也就是说要将给定的字符串经过中间过程(变成Z字形的排列格式)重新排列并输出该字符串(从上到下,从左到右输出Z字形排列下的字符串)
可以分两步处理
- 先把字符串逐字符遍历,在遍历过程中,控制行变量的大小,并按行添加到每行对应的字符串数组中。
- 将每行的字符串数组连接起来得到输出
小点
在初始化字符串数组后,先初始化其值,否则字符串数组首个值为null
涉及到切换遍历方向的时候可以使用一个标识符(flag)表示方向, flag 0 表示从上到下, flag1表示从下到上。
代码
import java.util.*;
public class Solution {
/**
*
* @param s string字符串
* @param nRows int整型
* @return string字符串
*/
public String convert (String s, int nRows) {
// write code here
if(nRows==1) retu