leetcode-6-Z 字形变换
生活随笔
收集整理的這篇文章主要介紹了
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 字形变换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode-7-整数翻转
- 下一篇: leetcode-9-回文数