我是小张同学,立志用最简洁的代码做最高效的表达


以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言!

传送门——>Leecode大厂热题100道系列题解


问题描述

将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。

比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:

之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。
请你实现这个将字符串进行指定行数变换的函数:

string convert(string s, int numRows);

示例 1:
输入:s = “PAYPALISHIRING”, numRows = 3
输出:“PAHNAPLSIIGYIR”

示例 2:
输入:s = “PAYPALISHIRING”, numRows = 4
输出:“PINALSIGYAHRPI”

示例 3:
输入:s = “A”, numRows = 1
输出:“A”


核心思路

找规律,优化


代码

class Solution {public:int min(int a, int b) {return a > b ? a : b;}string convert(string s, int numRows) {string ss[min(numRows, s.length())];        // 取二者中的最小值bool flag = false;int nowRow = 0, i = 0;         // 当前行while (i != s.length()) {ss[nowRow] += s[i++];if (nowRow == 0 || nowRow == numRows - 1) flag = !flag;flag ? nowRow++ : nowRow--;}string res;for(auto temp : ss) {res += temp;}return res;}
};

当你觉得自己很聪明,所有人都开始夸赞你时,其实你只是在收割你以前的积累而已。

Leecode06. Z 字形变换——Leecode大厂热题100道系列相关推荐

  1. Leecode31. 下一个排列——Leecode大厂热题100道系列

    我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...

  2. Leecode22. 括号生成——Leecode大厂热题100道系列

    我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...

  3. Leecode20. 有效的括号——Leecode大厂热题100道系列

    我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...

  4. Leecode 21. 合并两个有序链表——Leecode大厂热题100道系列

    我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 题目描 ...

  5. Leecode19. 删除链表的倒数第 N 个结点——Leecode大厂热题100道系列

    我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 题目描 ...

  6. Leecode17. 电话号码的字母组合——Leecode大厂热题100道系列

    我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...

  7. Leecode15. 三数之和——Leecode大厂热题100道系列

    我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...

  8. Leecode11. 盛最多水的容器——Leecode大厂热题100道系列

    我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...

  9. Leecode07. 整数反转——Leecode大厂热题100道系列

    我是小张同学,立志用最简洁的代码做最高效的表达 以下是我个人做的题解,每个题都尽量囊括了所有解法,并做到了最优解,欢迎大家收藏!留言! 传送门-->Leecode大厂热题100道系列题解 问题描 ...

最新文章

  1. python3下载安装windows教程-Python3入门笔记(1) —— windows安装与运行
  2. 【报错信息】Google Play 上架报错 ( Your app contains ads that do not comply with our Families ad | 退出亲子同乐计划 )
  3. 多项式加法 java 链表_多项式加法,用单链表实现。
  4. 0709-To Lower Case(转换成小写字母)
  5. 【MySQL】MySQL忘记密码或修改密码的方法
  6. Bootstrap系列 -- 8. 代码显示
  7. 51Nod.1766.树上最远点对(树的直径 RMQ 线段树/ST表)
  8. 对象实例化指针_new一个对象发生了什么
  9. php中背景图怎么设置不重复,css 图像不重复怎么设置
  10. 面向对象封装的web服务器
  11. 关于逻辑或的一个小小应用注意点
  12. 好用的格式化SQL工具SQL Prompt
  13. T430s BIOS白名单破解
  14. 板簧的弹性系数如何计算_一种板簧总成的刚度计算方法、系统及可读存储介质与流程...
  15. [渝粤教育] 西南科技大学 外国文学 在线考试复习资料
  16. 微信开发高级群发接口
  17. (五)SGE 命令 (1)qsub
  18. android系统手机流量控制方法amp;,基于Android的手机流量控制软件全解.doc
  19. php 7编译安装mysql5.6_CentOS7上编译安装MySQL5.6.23_MySQL
  20. 使用FTP删不掉文件的解决方法

热门文章

  1. SqlServer安装出错解决办法
  2. EV3 直接命令 - 第 2 课 让你的 EV3 做点什么
  3. PyCairo 中的图片
  4. 第42讲:scrapy框架的基本使用
  5. 过滤请求绝技 — 布隆过滤器与布谷鸟过滤器
  6. 音视频技术开发周刊 | 215
  7. 当一百万名记者都嚷嚷着“Facebook 很糟糕”......
  8. 实时远程医学影像服务质量保障与网络优化
  9. Netflix媒体数据库:媒体时间线数据模型
  10. 机器学习帮助WebRTC视频质量评价