news 2026/5/14 16:05:20

模拟(六)6. Z 字形变换

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
模拟(六)6. Z 字形变换

6. Z 字形变换

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

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

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

之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"PAHNAPLSIIGYIR"

请你实现这个将字符串进行指定行数变换的函数:

string convert(string s, int numRows);

示例 1:

输入:s = "PAYPALISHIRING", numRows = 3输出:"PAHNAPLSIIGYIR"
示例 2:
输入:s = "PAYPALISHIRING", numRows = 4输出:"PINALSIGYAHRPI"解释:P I N A L S I G Y A H R P I

示例 3:

输入:s = "A", numRows = 1输出:"A"

提示:

  • 1 <= s.length <= 1000
  • s由英文字母(小写和大写)、',''.'组成
  • 1 <= numRows <= 1000
class Solution { public: string convert(string s, int numRows) { int n = s.size(); if(numRows == 1) return s; // 如果只需要一行,直接返回s即可 vector<vector<char>> temp(numRows, vector<char>(n, '#')); // 二维数组 int i = 0, j = 0, cur = 0, falg = numRows-1; while(cur < n) { temp[i][j] = s[cur]; // 发现规律,每隔numRows-1就进行一次方向更改 if(falg > 0) { i++; // 利用falg--计数来控制方向 } else if(falg <= 0 && falg > 1-numRows) { i--; j++; } cur++; falg--; // 当falg减了俩次 numRows-1 时,回到最初的状态 if(falg == 1-numRows) falg = numRows-1; } string res; // 将数组用res进行接收 for(i = 0; i < numRows; i++) { for(j = 0; j < n; j++) { if(temp[i][j] != '#') res+=temp[i][j]; } } return res; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/10 11:15:57

基于大数据Hadoop+机器学校预测算法+SpringBoot的热门景点人流量数据分析系统的设计与实现(精品源码+精品论文+上万数据集+答辩PPT)

博主介绍&#xff1a;CSDN毕设辅导第一人、靠谱第一人、全网粉丝50W,csdn特邀作者、博客专家、腾讯云社区合作讲师、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交…

作者头像 李华
网站建设 2026/5/10 13:57:08

【Open-AutoGLM快速上手指南】:零基础7步部署大模型自动化系统

第一章&#xff1a;Open-AutoGLM快速入门概述Open-AutoGLM 是一个面向自动化自然语言处理任务的开源框架&#xff0c;专为简化大语言模型&#xff08;LLM&#xff09;的集成与调用流程而设计。它提供统一的接口规范、任务调度机制和模型适配层&#xff0c;使开发者能够快速构建…

作者头像 李华
网站建设 2026/5/10 9:57:32

73、ASP.NET Forms 身份验证全解析

ASP.NET Forms 身份验证全解析 1. 配置 ASP.NET 应用进行 Forms 身份验证 要为 ASP.NET 应用设置 Forms 身份验证,需调整其根 web.config 文件。以下是示例脚本: <system.web> <authentication mode="Forms"> <forms loginUrl="login.aspx…

作者头像 李华
网站建设 2026/5/10 2:39:06

76、深入解析ASP.NET安全认证:声明式身份验证与相关控件应用

深入解析ASP.NET安全认证:声明式身份验证与相关控件应用 声明式身份认证的革新理念 传统的身份验证模式主要包含两个步骤:获取用户凭证并将其与已知值进行验证。若提供的信息与存储信息匹配,用户就能被识别、认证并访问应用的特定功能。然而,获取用户凭证往往需要处理不同…

作者头像 李华
网站建设 2026/5/14 1:51:14

如何利用Nginx优化anything-llm的静态资源加载速度?

如何利用Nginx优化anything-llm的静态资源加载速度&#xff1f; 在企业级AI应用日益普及的今天&#xff0c;用户对响应速度和交互流畅度的要求已经不再局限于“能用”&#xff0c;而是追求“好用”——哪怕只是前端资源多加载了半秒&#xff0c;也可能影响知识检索的连续思维。…

作者头像 李华
网站建设 2026/5/11 5:39:10

NVIDIA Profile Inspector:解锁显卡隐藏性能的终极解决方案

NVIDIA Profile Inspector&#xff1a;解锁显卡隐藏性能的终极解决方案 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 你是否曾经觉得自己的显卡性能没有被完全释放&#xff1f;面对游戏卡顿、画面撕裂…

作者头像 李华