问题:

package com.nxz.blog.otherTest;import java.util.ArrayList;
import java.util.List;public class Test6ZigzagConversion {/*** z字形变换  将一个字符串按照z字形输出* 源字符串:    LEETCODEISHIRING* 输出:       LCIRETOESIIGEDHN* L   C   I   R* E T O E S I I G* E   D   H   N* <p>* 定义numrows个对象分别存储numrows行中的字符,定义一个移动方向,向下和向上* 循环将原字符串中的字符添加的numrows个对象中,* 最后输出*/private List<StringBuffer> arr = new ArrayList<>();public String convert(String s, int numRows) {// 初始化三个stringbuffer对象,用来保存每一行中的字符for (int i = 0; i < numRows; i++) {arr.add(new StringBuffer());}// 定义一个变量,用来控制行+1  还是行-1boolean down = false;// 当前行int curLine = 0;for (char c : s.toCharArray()) {arr.get(curLine).append(c);//每当是第一行会最后一行是,控制行是增还是减(也就是控制down是true还是false)if (curLine == 0 || curLine == numRows - 1) {down = !down;}curLine += down ? 1 : -1;}String res = "";for (int i = 0; i < arr.size(); i++) {res += arr.get(i).toString();}return res;}public static void main(String[] args) {Test6ZigzagConversion t = new Test6ZigzagConversion();String leetcodeishiring = t.convert("LEETCODEISHIRING", 3);System.out.println(leetcodeishiring);}
}

leetcode-6-Z 字形变换相关推荐

  1. [模拟|字符串] leetcode 6 Z字形变换

    [模拟|字符串] leetcode 6 Z字形变换 1.题目 题目链接 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHI ...

  2. LeetCode 6.z字形变换

    LeetCode 6.z字形变换 将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时, ...

  3. Java实现 LeetCode 6 Z字形变换

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

  4. LeetCode——6. Z 字形变换

    6. Z 字形变换(中等难度) 题目描述: 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "PAYPALISHIRING ...

  5. LeetCode 6. Z 字形变换(找规律)

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

  6. Leetcode 006. Z 字形变换 | 每日一题

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

  7. LeetCode 6 Z字形变换

    将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数: P A H N A P L S I I G Y I R 之后从左往右,逐行读取字符:"PAHNAP ...

  8. Leetcode 6.Z 字形变换 (每日一题 20210630)

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

  9. leetcode —— 6. Z 字形变换

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

  10. LeetCode 6. Z 字形变换 (N字形变换)

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

最新文章

  1. 史上世界上最惨烈的几次股灾!
  2. 机器学习及其在信息检索中的应用
  3. 计算机网络第二章:物理层
  4. 轻松搞懂sscanf和sprintf
  5. Gartner:缺乏技术人才将影响企业数字化转型
  6. gradle是干什么_gradle和ant等构建工具有什么核心优势?
  7. Team Foundation 和 Visual SourceSafe 之间的区别
  8. 数据集 —— ground truth 数据集
  9. Hive(五)——查询
  10. mysql 聚集函数 count 使用详解
  11. 【Java Map数据】中国各省份省会城市经纬度
  12. 手游用户数据分析平台
  13. Far planner之 障碍物的图搜索
  14. 日常运维-端口查询篇
  15. catia三边倒角_CATIA倒圆角为什么圆角会被吃掉?
  16. 计算机中专生未来三年的规划,职业中专三年发展规划.doc
  17. 使用Mongoose populate实现多表关联存储与查询,内附完整代码
  18. RPC:RPC的通信流程
  19. 原生js实现上拉加载
  20. 职场必知必会:PPT 制作六步心法分享

热门文章

  1. mysql5.6数据库位置_MYSQL5.6数据库存放位置
  2. mysql 多表查询 优化_Mysql 多表联合查询效率分析及优化
  3. 开发web前端_移动前端开发和web前端开发的区别?
  4. 火狐浏览器服务器意外响应,Firefox 火狐浏览器 83 发布,已修复任意代码执行漏洞...
  5. php satellite_object_to_string,php object如何转string
  6. java match正则不生效_[Java教程]正则表达式match()函数
  7. 三次握手和四次挥手图解_图解TCP三次握手和四次挥手
  8. 评估微型计算机的主要指标,微型计算机的工作过程和主要性能指标.doc
  9. 更换Spring底层日志框架
  10. Vue.extend