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

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"

分析

要么数学转换,要么模拟。这题可以通过设置循环量的正负来实现大模拟,十分巧妙。也就是按照Z字形存字符。
参考:https://leetcode.cn/problems/zigzag-conversion/solutions/21610/zzi-xing-bian-huan-by-jyd/

代码

class Solution {
public:string convert(string s, int numRows) {if (numRows < 2) {return s;}int s_n = s.size();vector<string> rows(numRows);int x = 0, step = -1;for (int i = 0; i < s_n; i++) {if (x == 0 || x == numRows-1) {step = -step;}rows[x].push_back(s[i]);x += step;}string res;for (const string &row : rows) {res += row;}return res;}
};
http://www.hskmm.com/?act=detail&tid=36552

相关文章:

  • 2025年10月素材平台推荐榜:高品图像领衔五强对比
  • JamBrains 题解
  • 2025年10月注册公司推荐:权威榜对比评测
  • NVIDIA HGX B200降低碳排强度的技术突破
  • 2025年10月上海装修公司评测榜:五强性价比与资质全对比
  • 2025年10月洗碗机品牌评测:海信领衔榜单
  • 2025年10月洗碗机品牌排名:海信稳居热销榜
  • YSP_refs_cn_2025
  • 2025年10月油烟机品牌排名:海信榜首五强横向榜
  • 2025年10月代理记账公司推荐:权威榜单对比全维度评测
  • 2025年10月油烟机品牌排名榜:海信携四强实测盘点
  • 详细介绍:探索少样本分类的深度:A Closer Look at Few-shot Classification
  • 2025年10月办公家具公司推荐:性价比榜五强评价报告
  • 解题报告-邪恶的大叔
  • OOP-实验2
  • JS学习记录
  • 2025年10月小红书代理商推荐榜:官方授权与实战案例对比评测
  • 小波函数多尺度变换的 Curvelet 变换
  • 2025年10月西安种植牙医院推荐榜:五强对比评测
  • 2025年10月短视频营销公司对比评测榜:孙圈圈领衔增长型IP服务排行
  • 2025年10月抖音代理商榜单:本地推与千川服务能力对比
  • 三、阅读笔记三:提升开发效率的利器
  • 20232302 2025-2026-1《网络与系统攻防技术》实验二实验报告
  • 2025年10月医用面膜产品推荐:权威对比评测榜揭晓前五强
  • P11024 做题报告
  • 多模态数据湖技术深化,Data Agent新能力发布!“认知”将决定企业上限
  • 2025年10月投资纠纷律师推荐:五强榜单对比评测与选择指南
  • Web刷题篇-1 [BJDCTF2020]Easy MD5
  • 云斗 YDR Special# 004 S 模拟赛
  • Berry.Live:开箱即用的.NET直播流媒体服务器