区块链技术博客
www.b2bchain.cn

6. Z 字形变换 flag改变遍历方向

这篇文章主要介绍了6. Z 字形变换 flag改变遍历方向,通过具体代码讲解8617并且分析了6. Z 字形变换 flag改变遍历方向的详细步骤与相关技巧,需要的朋友可以参考下

本文实例讲述了6. Z 字形变换 flag改变遍历方向。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/?p=8617。具体如下:

个人题解网 https://www.b2bchain.cn/6190.html 

 //将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。  // // 比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下:  // // L   C   I   R //E T O E S I I G //E   D   H   N //  // // 之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。  // // 请你实现这个将字符串进行指定行数变换的函数:  // // string convert(string s, int numRows);  // // 示例 1:  // // 输入: s = "LEETCODEISHIRING", numRows = 3 //输出: "LCIRETOESIIGEDHN" //  // // 示例 2:  // // 输入: s = "LEETCODEISHIRING", numRows = 4 //输出: "LDREOEIIECIHNTSG" //解释: // //L     D     R //E   O E   I I //E C   I H   N //T     S     G  // Related Topics 字符串   import java.util.ArrayList;  //leetcode submit region begin(Prohibit modification and deletion) class Solution {     public String convert(String s, int numRows) {         //特殊情况 只有一行的时候         if (numRows == 1) return s;         //z字 从上到下 从下到上 依次存入对应的行内,直到全部遍历完成         List<StringBuilder> row=new ArrayList<>();         for (int i = 0; i <numRows ; i++) {             row.add(new StringBuilder());         }         int flag=-1;         int i=0;         for(Character c:s.toCharArray()){             if(i==0 || i==row.size()-1) flag=-flag;             row.get(i).append(c);             i+=flag;         }         StringBuilder ans=new StringBuilder();         for(StringBuilder sb:row){             ans.append(sb);         }         return ans.toString();     } } //leetcode submit region end(Prohibit modification and deletion) 

 

本文地址https://www.b2bchain.cn/?p=8617

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 6. Z 字形变换 flag改变遍历方向
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们