https://leetcode-cn.com/problems/zigzag-conversion/
找规律的题:本质和弹弹球一样的,到底又回来,到顶又下去。

class Solution {public:string convert(string s, int numRows) {string ss[1005];int cnt=0;int k=0;bool flag=true;if(numRows==1) return s;//特殊情况while(cnt<s.size()){ss[k]+=s[cnt];cnt++;if(flag) k++;else k--;if(k<0)  flag=true,k=1;//到底if(k==numRows)flag=false,k=numRows-2;//到顶}string ans;for(int i=0;i<numRows;i++) ans+=ss[i];return ans;}
};

方法二:

class Solution {public:string convert(string s, int n) {string ans;if(n==1) return s;for(int i=0;i<n;i++){if(i==0||i==(n-1)){for(int j=i;j<s.size();j+=2*n-2) ans+=s[j];}else{for(int j=i,k=2*(n-1)-i;j<s.size()||k<s.size();j+=2*n-2,k+=2*n-2){if(j<s.size()) ans+=s[j];if(k<s.size()) ans+=s[k];}}}return ans;}
};

【力扣】6. Z 字形变换相关推荐

  1. 力扣6. Z 字形变换

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

  2. Java算法题:Z字形变换

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

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

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

  4. LeetCode 6.z字形变换

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

  5. Z 字形变换 C++实现 java实现 leetcode系列(六)

    Z 字形变换  java实现 C++实现  将一个给定字符串根据给定的行数,以从上往下.从左到右进行 Z 字形排列. 比如输入字符串为 "LEETCODEISHIRING" 行数为 ...

  6. java z+_Java Z 字形变换

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

  7. 【LeetCode】6.Z 字形变换

    6.Z 字形变换 我的思路貌似没有第二家,不过我懒得解释了. #include <string> #include <iostream> using namespace std ...

  8. LeetCode Algorithm 6. Z 字形变换

    6. Z 字形变换 Ideas 这题的思路其实只要想到了就很简单,首先创建一个numRows行的矩阵,每一行用来存Z字变换后每一行的字符,然后遍历字符串s,其实就是从上往下然后从下往上填充到每一行,所 ...

  9. leetcode题库:6. Z字形变换

    题目: /**题目:6. Z字形变换(题目地址:https://leetcode-cn.com/problems/zigzag-conversion/description/)  * 将字符串 &qu ...

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

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

最新文章

  1. 纯Shading Language绘制飞机火焰效果
  2. android 默认打开服务器地址,Android开发实现任意切换服务器地址
  3. vue js xlsx 读取 本地 excel
  4. 在idea中使用git管理你的项目
  5. 更简洁的方式修改Chrome的User Agent,轻松体验移动版网络
  6. C++ 关于复制、移动构造函数和移动、复制 赋值运算符的重载问题;
  7. 苹果电脑 默认安装jdk位置_收藏起来你一定用的上!JDK的安装和配置
  8. java 类里面对象共享_Java并发编程 - 对象的共享
  9. JAVA开发面试常问问题总结2
  10. Jira中的BUG导出
  11. 【EF】EF框架 Code First Fluent API
  12. android编程入门
  13. 去掉 AD13 PCB网络连线中的双斜杠
  14. 配置git的合并工具mergetool不生成.orig文件
  15. 第四章#4.3哈夫曼树以及案例介绍
  16. iOS 本地打包工具 自动化
  17. JAVA计算机毕业设计电影视频在线点播系统Mybatis+系统+数据库+调试部署
  18. .Net Core 编码规范
  19. 打通版4.3 思维导图
  20. 火星人现住何处?在干什么?

热门文章

  1. Android安全专项-Apk加固
  2. 《袁老师访谈录》第十四期|李世玮教授/香港科大(广州)系统枢纽署理院长【问诊未来·院长系列:开辟融合创新科技转化新航路】...
  3. 都是熟人!白玉无冰再度领衔,下周广州见丨Cocos Star Meetings
  4. BZOJ - 3884 上帝与集合的正确用法
  5. [高通SDM450][Android9.0]刷机后RTC时钟不生效问题
  6. winform滚动字幕
  7. MySQL 5.7.26部署及授权,主从配置
  8. lisp编写面积为亩,一个七年CAD绘图员画图心声.docx
  9. 如何制作使用lib和dll
  10. 我的游戏学习日志2——雪人兄弟