题目

将一个给定字符串 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);

示例 1:

输入:s = "PAYPALISHIRING", numRows = 3 输出:"PAHNAPLSIIGYIR" 示例 2: 输入:s = "PAYPALISHIRING", numRows = 4 输出:"PINALSIGYAHRPI" 解释: P I N A L S I G Y A H R P I 示例 3:

输入:s = "A", numRows = 1 输出:"A"

代码

class Solution {public String convert(String s, int numRows) {if(numRows < 2){return s;}List<StringBuilder> arrayList = new ArrayList<StringBuilder>();for(int i = 0;i < numRows;i++){arrayList.add(new StringBuilder());}int i = 0,flag = -1;for(char c : s.toCharArray()){arrayList.get(i).append(c);if(i == 0 || i == numRows - 1){flag = -flag;}i = i + flag;}StringBuilder result = new StringBuilder();for(StringBuilder midium : arrayList){result.append(midium);}return result.toString();}
}

leetcode第六题 Z字形变换相关推荐

  1. leetcode第六题Z字形变换心得记录

    算法学习之路-坚持走下去 Z字形变换 题目描述 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行 ...

  2. leetcode-第六题 Z 字形变换

    题目 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下: L   C   ...

  3. LeetCode第六题Z字变换

    将一个给定字符串 s 根据给定的行数 numRows ,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下: P ...

  4. LeetCode刷题——Z字形变换

    目录 一.题目描述 二.题解 三.源码 一.题目描述 二.题解 三.源码 class Solution(object):def convert(self, s, numRows):"&quo ...

  5. LeetCode刷题笔记第6题:Z字形变换

    LeetCode刷题笔记第6题:Z字形变换 想法: 要完成字符串根据给定的行数从上往下,从左到右完成Z字形排列.当只有一行时直接返回原字符串,当行数大于1时,先以行数构建一个行数数值个空字符串的列表, ...

  6. Z 字形变换 C++实现 java实现 leetcode系列(六)

    Z 字形变换  java实现 C++实现  将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 ...

  7. leetcode题库:6. Z字形变换

    题目: /**题目:6. Z字形变换(题目地址:https://leetcode-cn.com/problems/zigzag-conversion/description/)  * 将字符串 &qu ...

  8. Java算法题:Z字形变换

    Java算法题:Z字形变换 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "PAYPALISHIRING" 行 ...

  9. java编写字母z算法_【Java】【每日算法/刷穿 LeetCode】6. Z 字形变换(中等)

    首页 专栏 java 文章详情 0 [每日算法/刷穿 LeetCode]6. Z 字形变换(中等) 宫水三叶发布于 今天 12:03 题目描述 将一个给定字符串 s 根据给定的行数 numRows , ...

最新文章

  1. java自动装箱性能
  2. windows服务程序设置为自动 重启后又变为手动启动_系统小技巧:解决Windows无法正常关机的问题...
  3. R语言ggplot2可视化彩色水平条形图并基于条形长度和数值标签长度、自定义最优化配置标签在条形内部或者条形外部
  4. 使用RSS订阅喜欢的微博博主
  5. 前端学习(3082):vue+element今日头条管理-页面布局
  6. Linux命令:find命令详解
  7. Spring第三篇【Core模块之对象依赖】
  8. Java main()方法
  9. switch java 语法_Java_基础语法之switch语句
  10. yield return 和 Func
  11. WDS+ADK+MDT 部署轻触式系统安装(1)《准备》
  12. vscode推荐编程字体
  13. css中背景颜色的代码,css背景代码是什么,css怎么控制背景颜色
  14. 【华为机试题 HJ102】字符统计
  15. [转]显卡帝揭秘3D游戏画质特效
  16. Android中绘制圆角矩形图片及任意形状图片
  17. 录音艺术与计算机音乐,中国音协录音艺术与唱片学会 2018 青年录音艺术评比(暨第三届 CRA 最佳学生录音作品评选)活动开启...
  18. 现代计算机领域出现了,时空道路网最近邻查询技术
  19. 影视网站设计报告代码MySQL_基于PHP的视频网站的设计与实现(MySQL)(含录像)
  20. 电商网站爬虫案例(1)

热门文章

  1. 简单python画图
  2. 一文读懂NLP之隐马尔科夫模型(HMM)详解加python实现
  3. JS:函数的内置对象:arguments
  4. [Vs提示:不允许使用不完整类型]使用结构体常犯的错误
  5. 在线教育软件开发的目的是什么?
  6. MARG航姿系统的基本理论及工作原理
  7. caffe layer层详解
  8. 软路由-Hi-Spider Router-海蜘蛛
  9. JS跳转到第三方地图APP
  10. E. Tournament