当前位置: 首页 > news >正文

6. Z 字形变换

题目描述

给你一个字符串s和行数numRows,把s字符串按照z字形重新排列。
再从左往右进行读取,返回读取之后的字符串。

本题是找规律,但是没有找出来

解题思路

要想解出来该题,在进行z字变换的时候,我们把字符串的下标进行进行变换,容易找出规律。

规律如下:
在这里插入图片描述

代码

class Solution {
public:string convert(string s, int numRows) {//为1时特判if(numRows==1) return s;string ret;int d=2*numRows-2;for(int i=0;i<numRows;i++){//start2初始为最大,为了在第0和第numRows-1行时,可以跳出循环int start1=i,start2=INT_MAX;if(i!=0&&i!=numRows-1) start2=d-i;while(start1<s.size()||start2<s.size()){if(start1<s.size()) ret+=s[start1],start1+=d;if(i!=0&&i!=numRows-1&&start2<s.size()) ret+=s[start2],start2+=d;}}return ret;}
};
http://www.lryc.cn/news/342666.html

相关文章:

  • shell常用文件处理命令
  • 从Paint 3D入门glTF
  • 数据库(MySQL)—— DQL语句(基本查询和条件查询)
  • 如何根据索引删除数组中的元素,并保证删除的正确性
  • Shell编程规范与变量
  • 武汉星起航:策略升级,亚马逊平台销售额持续增长显实力
  • 循环链表 -- c语言实现
  • 如何使git提交的时候忽略一些特殊文件?
  • 如何保证Redis双写一致性?
  • HarmonyOS实战开发-如何实现查询当前城市实时天气功能
  • (三)JSP教程——JSP动作标签
  • centos7安装真的Redmine-5.1.2+ruby-3.0.0
  • 方法的重写
  • Terraform局部值
  • vue+element-ui实现横向长箭头,横向线上下可自定义文字(使用after伪元素实现箭头)
  • 性能监控之prometheus+grafana搭建
  • 25-ESP32-S3 内置的真随机数发生器(RNG)
  • 万兆以太网MAC设计(12)万兆UDP协议栈上板与主机网卡通信
  • 2024年4月17日华为春招实习试题【三题】-题目+题解+在线评测,2024.4.17,华为机试
  • 展开说说:Android线程池解析
  • Selenium自动化测试面试题全家桶
  • Docker 容器日志占用空间过大解决办法
  • update_min_vruntime()流程图
  • 十进制转任意进制(以及任意进制来回转换<了解>)
  • postcss-px-to-viewport 从入坑到放弃 (nuxt3搭建响应式官网解决方案 )
  • C语言从入门到入门
  • Java基础教程 - 4 流程控制
  • 大厂Java面试题:MyBatis中有几种加载映射器(Mapper.xml)的方式?
  • Flutter笔记:Widgets Easier组件库(10)快速处理承若型对话
  • 10_Linux中的计划任务