我是靠谱客的博主 如意学姐,最近开发中收集的这篇文章主要介绍2021-07-16 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
算法:将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。
比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:
P
A
H
N
A
P
L
S
I
I
G
Y
I
R
这道题可以通过数组解出,通过观察,我们发现可以使用数组,分别将z字型中的每一行字符拼接后放在数组中。
class Solution {
public String convert(String s, int numRows) {
if(numRows==1){
return s;
}
int numRow = 0;
boolean flag = false;
int len = Math.min(s.length(),numRows);
String[] row = new String[len];
for(int i=0;i<len;i++){
row[i]="";
}
for(int i=0;i<s.length();i++){
row[numRow]+=s.substring(i,i+1);
if(numRow==0||numRow+1==numRows){
flag=!flag;
}
if(flag){
numRow++;
}else{
numRow--;
}
}
String arr = "";
for(int j=0;j<len;j++){
arr+=row[j];
}
return arr;
}
}
最后
以上就是如意学姐为你收集整理的2021-07-16 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。的全部内容,希望文章能够帮你解决2021-07-16 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复