欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

leetcode-6-Z 字形变换

发布时间:2024/9/15 编程问答 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 leetcode-6-Z 字形变换 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

问题:

 

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 字形变换的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。