原题如下:

The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)

P   A   H   N
A P L S I I G
Y   I   R

And then read line by line: "PAHNAPLSIIGYIR"

Write the code that will take a string and make this conversion given a number of rows:

string convert(string text, int nRows);

convert("PAYPALISHIRING", 3) should return "PAHNAPLSIIGYIR".

实现思路比较简单直白,直接上代码吧:

 1     public String convert(String s, int nRows) {
 2         int len = s.length();
 3         if(nRows >= len || nRows == 1){
 4             return s;
 5         }
 6         StringBuilder sb = new StringBuilder();
 7         for(int i =0; i< nRows; i++){
 8             int n = i;
 9             while(n<len){
10                 sb.append(s.charAt(n));
11                 if(i!=0 && i!= nRows-1){
12                     n+=(nRows-i-1)<<1;
13                     if(n<len){
14                         sb.append(s.charAt(n));
15                         n+=i<<1;
16                     }
17                 }else{
18                     n+=(nRows-1)<<1;
19                 }
20             }
21         }
22         return sb.toString();
23     }

参考源码:https://github.com/pkufork/Martians/blob/master/src/main/java/com/pkufork/martians/leetcode/L6_ZigZagConversion.java

转载于:https://www.cnblogs.com/pkufork/p/ds_leetcode_6.html

LeetCode 6 - ZigZag Conversion相关推荐

  1. [勇者闯LeetCode] 6. ZigZag Conversion

    [勇者闯LeetCode] 6. ZigZag Conversion Description The string "PAYPALISHIRING" is written in a ...

  2. leetCode 6. ZigZag Conversion 字符串 (上传费劲)

    6. ZigZag Conversion 题目:https://leetcode.com/problems/zigzag-conversion/ 1 2 3 4 5 6 7 8 9 10 11 12 ...

  3. [LeetCode题解] ZigZag Conversion

    原文在这,可以来我blog翻翻哦. 第二天.今天AC掉了一道之前没AC掉的题目... 今天的题目是6. ZigZag Conversion 题目描述: The string "PAYPALI ...

  4. LeetCode 6. ZigZag Conversion

    原题链接在这里:https://leetcode.com/problems/zigzag-conversion/ 题目: The string "PAYPALISHIRING" i ...

  5. 蜗牛慢慢爬 LeetCode 6. ZigZag Conversion [Difficulty: Medium]

    题目 The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows li ...

  6. 【leetcode】ZigZag Conversion

    题目简述 The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows ...

  7. LeetCode 6 ZigZag Conversion(Z型转换)(String)

    翻译 字符串"PAYPALISHIRING"通过一个给定的行数写成如下这种Z型模式: P A H N A P L S I I G Y I R 然后一行一行的读取:"PAH ...

  8. LeetCode#6 ZigZag Conversion

    The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like ...

  9. [Leetcode] 6 - ZigZag Conversion

    题目链接:https://oj.leetcode.com/problems/zigzag-conversion/ 找规律的一道题,row往前进2步的话,如果投影在zigzag的路径上,则是走了一个V字 ...

最新文章

  1. 系统吞吐量(TPS)、用户并发量、性能测试概念和公式(转载)
  2. linux下通过yum安装svn及实现SVN与WEB同步解决方案[阿里云]
  3. CloudCC: 智能CRM究竟能否成为下一个行业风口?
  4. Qt Designer的UI文件格式
  5. Java多线程同步Synchronized使用分析
  6. vscode Go 1.11.4 编译错误 need Delve built by Go 1.11 or later
  7. FR复选框批量删除(填报)
  8. android service 的各种用法(IPC、AIDL)
  9. Squid 代理服务器应用
  10. 泛微云桥e-Bridge安装手册
  11. android 环信集成,Android 环信集成使用总结
  12. 重新连接 到 时出错 Microsoft Windows Network:本地设备名已在使用中
  13. vscode编译Window c++程序缺少vc运行库解决方法
  14. 基于Java毕业设计车辆调度管理系统源码+系统+mysql+lw文档+部署软件
  15. perl、python、shell脚本区别
  16. Chrome控制台打印输出彩色调试信息
  17. html中title内实现换行
  18. Trustdata:1月阅读、游戏类部分应用涨幅明显
  19. 打造个人知识库网站(Docsify+GitHub Page)
  20. 绝地求生 服务器无响应,绝地求生点了开始没反应怎么办 绝地求生点开始没反应解决办法...

热门文章

  1. javascript Blob
  2. MongoDB Collections
  3. 编程语言对比 迭代器
  4. flask-sqlAlchemy 创建表
  5. ci php redis,一次基于CI的Redis性能问题定位
  6. 存储技术论坛:最高可用级别的同步复制及方案
  7. Esxi直接使用vmdk文件创建虚机
  8. Java基础学习总结(154)——Synchronized与Volatile、Synchronized与ReentrantLock概念及区别
  9. android 动画_深入了解一些Android动画
  10. mysql 语句 not_mysql sql语句 is not 用法是