当前位置: 首页 > news >正文

二级医院网站建设的方案成品源码1688网站免费

二级医院网站建设的方案,成品源码1688网站免费,怎样下载模板网站,塘厦网站仿做目录 题目描述:输入:输出:代码实现: 题目描述: 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如…

目录

  • 题目描述:
  • 输入:
  • 输出:
  • 代码实现:

题目描述:

将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。
比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:
P A H N
A P L S I I G
Y I R
之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。
请你实现这个将字符串进行指定行数变换的函数:

string convert(string s, int numRows);

代码调试效果图:
在这里插入图片描述

输入:

s = "PAYPALISHIRING", numRows = 3

输出:

"PAHNAPLSIIGYIR"

代码实现:

public class Main {public static void main(String[] args) {// TODO Auto-generated method stubString s = "PAYPALISHIRING";System.out.println(convert(s, 3));//PAHNAPLSIIGYIR}public static String convert(String s, int numRows) {// 使用二维数组模拟,行数已知,需要确定列数int len = s.length();// 总共的字符长度if (len <= numRows || numRows <= 1) {//无法构成z型的情况return s;}int numCols = 0;// 列数int numCyc = numRows * 2 - 2;// 一个周期包含的字符数int cyc = len / numCyc;// 循环周期数int more = len % numCyc;// 最后一个周期的字符数if (more > numRows) {// 最后一个周期的字符数超过了一列的情况numCols = cyc * (numRows - 1) + more - (numRows - 1);// 周期长度+不足一个周期的列的长度} else {// 没有超过一列的长度numCols = cyc * (numRows - 1) + 1;// 没超过一列算成一列}char[][] arr = new char[numRows][numCols];// 创建二维数组:存储字符元素int index = 0;//已经遍历过的字符个数int i = 0, j = 0;//i表示行,j表示列while (j < numCols) {//列if (index == len) {//循环出口:当遍历个数=字符个数break;}while (i < numRows) {//行if (index < len) {char c = s.charAt(index);//获取字符串中的每一个字符if (numRows == numCyc) {//循环周期的元素个数等于行数时:直接从上到下,从左到右写入arr[i++][j] = c;if (i == numRows) {i = 0;//回到第一行j++;//列数进一}index++;//字符计数} else {//循环周期的元素个数不等于行数:形成z型时if (index % numCyc < numRows) {//字符在同一行的情况arr[i++][j] = c;if (i == numRows) {//当遍历到最下方时,回溯到上一行i--;}} else {//字符不在同一行的情况arr[--i][++j] = c;//对当前位置的右上方:插入字符if (i - 1 == 0) {//下一个循环周期的入口i--;j++;//向右上方移动到第一行}}index++;//字符计数}} else {//内层循环出口:计数元素个数达到字符串大小时break;}}}//拼接数组中不为空的字符串StringBuilder res = new StringBuilder();//从左到右,从上到下进行遍历for (int k = 0; k < arr.length; k++) {for (int l = 0; l < arr[k].length; l++) {if (arr[k][l] != '\0') {//ASCII码不为0的字符,才进行拼接res.append(arr[k][l]);}}}return res.toString();//转化为字符串}
}
http://www.yayakq.cn/news/219998/

相关文章:

  • .tel域名不可以做网站域名吗大气网站特点
  • 免费北京网站建设网络网站建设公司
  • 福州个人建站模板长春网站制作诚推源晟
  • 呼和浩特做网站哪家公司好北京知名广告公司排行榜
  • 学做网站课程做网站托管
  • 辽宁网站建设哪里好西宁网站建设排名
  • 福步外贸网站做国外单的网站叫什么
  • admin网站管理系统怎么做重庆互联网公司排名
  • 研究院网站模板找人做一个网站多少钱
  • 网站设计的设计方案律师在线咨询免费24小时电话
  • 广东省建设工程协会网站wordpress音乐网站
  • 网站权重多少比较好网上注册公司流程和方法
  • 许昌做网站的公司楚雄微网站建设
  • 网站开发客户需求分析苏州网站建设kgwl
  • 网站备案查询网址汽车网站建设公司哪家好
  • wordpress图片整站网页编辑人头
  • 新密做网站公司营销网课
  • 做网站需要几万吗黄石seo诊断
  • 网站优化托管方案文库云浮市住房城乡建设信息网网站
  • 网站上线的步骤商城开源免费商用
  • 网站建设与维护蒋勇从网站本地被劫要怎么做
  • 网站开发方案书博客网站怎么做认证
  • 常德网站开发服务室内设计导航
  • 清远城乡住房建设部网站做公众号的网站
  • 网页设计的网站配色方案新时代文明实践站模板
  • 公司起名打分最准的免费网站无锡网站推广优化公司
  • 网站建设职员三里河网站建设
  • 广州 网站建设 制作高级网站开发工信部
  • 深圳的建站公司湖南易图科技发展有限公司
  • 网站变灰代码 所有浏览器建筑工程网课哪个好