【力扣】:N字型
1 class Solution {
2 public String convert(String s, int numRows) {
3 String resultS = ""; // 待返回的字符串
4 int len = s.length(); // 字符串长度
5 if (numRows <= 1){ return s;}
6 for(int row = 0 ; row < numRows ; row ++){
7 int n = 0; // 设置间隔数
8 int index = 0; // 设置读取的索引值
9 if(row == 0 || row == numRows -1){
10 // 如果处于第0行或最后一行,显示的数据的等差 2*(numRows -1) ,对应累加索引 row + 2*(numRows -1)*n
11 index = row;
12 while ( index < len ){
13 resultS += s.charAt(index);
14 n ++;
15 index = row + 2*(numRows -1)*n;
16 }
17 }else{
18 // 如果处于中间行,显示的等差数据为:2*(numRows -1) - 2*row , 2*row ,
19 // 对应的累加索引: n 为偶数时 row + (numRows -1) *n ; n 为奇数时 row + 2*(numRows -1) * (n + 1)/2 -2*row
20 index = row;
21 while (index < len){
22 resultS += s.charAt(index);
23 n ++ ;
24 index = (n % 2 == 0)? (row + (numRows -1) *n) : (row + 2*(numRows -1) * (n + 1)/2 -2*row) ;
25 }
26
27 }
28
29 }
30 return resultS;
31 }
32 }
N字型变换:https://leetcode.cn/problems/zigzag-conversion/submissions/
【力扣】:N字型的更多相关文章
- 力扣Leetcode 面试题56 - I. 数组中数字出现的次数
面试题56 - I. 数组中数字出现的次数 一个整型数组 nums 里除两个数字之外,其他数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度是O(n),空间复杂度是O(1). 示例 ...
- 力扣567.字符串的排列—C语言实现
题目 来源:力扣(LeetCode)
- 力扣566. 重塑矩阵-C语言实现-简单题
题目 传送门 在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据. 给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要 ...
- 刷题-力扣-剑指 Offer 42. 连续子数组的最大和
剑指 Offer 42. 连续子数组的最大和 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de ...
- [函數] Firemonkey Android 取得系统参数设定的字型大小
Android 系统参数设定内,可以设定字型大小: 可以透过下面代码来取得字型大小比例: function FontScale: Single; var Resources: JResources; ...
- [LeetCode] ZigZag Converesion 之字型转换字符串
The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like ...
- Delphi 取得 iOS 辅助使用里的字型大小
说明:在 iOS 里有一个人性化的辅助设定,可以将字体放大,但这个设定对 Delphi 是不起作用的,还好 Delphi 提供了这个 iOS API 可以取得. 开发环境:Delphi 10 Seat ...
- Firemonkey TComboBox 下拉菜单字型修改方法 (D10)
在 FMX 下的 TComboBox 下拉菜单字型修改有二种方法: uses FMX.Pickers; 使用 Style,需先设定好 Style 后,再指定预设项的 Style,方法如下: proce ...
- XE7 iOS 取得系统字型名称
系统字型名称在每个平台的取得方式不尽相同,以下示范如何在 iOS 取得系统内所有字型的名称: uses // 加入下面二个 uses 文件 iOSapi.UIKit, iOSapi.Foundatio ...
- Firemonkey 控件设定字型属性及颜色
将控件 StyledSettings 的勾取消(如此才能自定样式及字型,如果勾选则依 Style 而定). 设定 TextSettings 里的 Font 属性. 使用代码寫法: CheckBox1. ...
随机推荐
- 【深入浅出Seata原理及实战】「入门基础专题」探索Seata服务的AT模式下的分布式开发实战指南(2)
承接上文 上一篇文章说到了Seata 为用户提供了 AT.TCC.SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案.那么接下来我们将要针对于AT模式下进行分布式事务开发的原理进行介绍以及 ...
- (18)go-micro微服务ELK介绍
目录 一 什么是ELK 二 Beats的六种工具 三 ELK系统的特点 四 ELK+beats系统架构 五 ELK优点 六 最后 一 什么是ELK ELK是三个[开源软件]的缩写,分别表示:Elast ...
- vue基础之keep-alvie保持历史页面数据不变,切换页面后数据不变keep-alvie
1:路由配置文件设置 { path: '/MenuM', component: Layout, redirect: '/MenuM', children: [ { path: 'MenuM', nam ...
- Java 进阶P-3.1+P-3.2
记事本的例子 容器类有两个类型: 容器的类型 元素的类型 泛型容器类 泛型 泛型其实质就是将数据的类型参数化.通过为类.接口.及方法设置类型参数来定义泛型.泛型使一个类或一个方法可在多种不同类型的对象 ...
- 读Java8函数式编程笔记01_Lambda表达式
1. Java 8函数式编程 1.1. 没有单子 1.2. 没有语言层面的惰性求值 1.3. 没有为不可变性提供额外支持 1.4. 集合类可以拥有一些额外的方法:default方法 2. 现实世界中, ...
- UICC Send USSD 加密信息解析
已以下指令为例 已知发送 USSD 的格式为:Send USSD aaaxxxxxxxxxxxx*yyyyyyy# ;Fetch:==:SEND USSD SEND 801200001F ASSERT ...
- flutter系列之:使用SliverList和SliverGird
目录 简介 SliverList和SliverGird详解 SliverList和SliverGird的使用 总结 简介 在上一篇文章我们讲解SliverAppBar的时候有提到过,Sliver的组件 ...
- 树莓派裁剪通过Win32读出的img文件
PiShrink 是 Github 上开源的树莓派压缩工具,通过裁剪上面用 Win32DiskImager 或者 dd 命令全卡备份的镜像,去掉没有内容的分区,从而减小备份镜像的大小. 先将全卡备份的 ...
- 五:spring boot
五.spring boot 通过springboot可以快速的搭建一个基于ssm框架的Java application,简单配置,自动装配. JavaConfiguration用java类来替代xml ...
- 修改Element - plus的样式
把显示再浏览器上的对应css选择器全部写上,并且添加 !important </script> <style lang='scss' scoped> //修改 element ...