千家信息网

如何用LeetCode实现Z字形变换

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"如何用LeetCode实现Z字形变换",在日常操作中,相信很多人在如何用LeetCode实现Z字形变换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如
千家信息网最后更新 2026年11月03日如何用LeetCode实现Z字形变换

这篇文章主要介绍"如何用LeetCode实现Z字形变换",在日常操作中,相信很多人在如何用LeetCode实现Z字形变换问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何用LeetCode实现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

Solution

解法

解题思路

如何输出最后的字符串

  • 整体的思路是遍历字符串,在遍历过程中将每行都看成新的字符串构成字符串数组,最后再将该数组拼接起来即可

  • 如果 numRows=1则说明当前字符串即为结果,可直接返回,否则整个字符串需要经历,向下向右,向下向右,这样的反复循环过程

  • 设定 down 变量true表示是否向下,false表示向右,loc 变量表示当前字符串数组的下标

  • 如果 down 为 true,则 loc=loc+1,字符串数组下标向后移动,将当前字符加入当前字符串中

  • 如果 down 为 false,则表示向右,则 loc=loc-1,字符串数组下标向前移动,将当前字符加入当前字符串中

CODE
class Solution {    public String convert(String s, int numRows) {         if(numRows==1){             return s ;         }         //当前坐标         int loc = 0 ;         //当前是否往下         boolean down = true;        String[] cs = new String[numRows];         //结果数组,对应有numRows个数组,每个数组用来记录对应行的数据,比如'PAYPALISHIRING'         //     P   A   H   N           cs[0]         //     A P L S I I G           cs[1]         //     Y   I   R               cs[2]         for(int ii =0 ;ii
复杂度
  • 时间复杂度 O(N)

  • 空间复杂度 O(N)

结果
  • 执行用时:18 ms, 在所有 Java 提交中击败了20.89%的用户

    内存消耗:39.1 MB, 在所有 Java 提交中击败了44.72%的用户

到此,关于"如何用LeetCode实现Z字形变换"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

字符 字符串 数组 字形 变换 输出 学习 输入 复杂 下标 复杂度 示例 结果 变量 思路 更多 用户 过程 帮助 移动 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技网 互联网科技工作委员会 中关村互联网科技集团 互联网电商科技 善班互联网科技 互联网科技logo设计 互联网金融科技委员会 恒生科技互联网指数分析 北京华百购互联网科技有限公司 广州恒生互联网科技有限 千方科技属于互联网企业吗 新兴科技互联网创新大赛颁奖典礼 卓翼科技产业互联网合作 烟台灵鸽互联网科技有限公司 上海科技产业互联网平台 半导体是互联网高科技吗 互联网风格科技公司名称 互联网科技职业技能培训学校 山东蛋芒互联网科技有限公司 互联网科技创业计划的风险分析 伟宏互联网科技 上海卓越科技互联网 朗新科技与工业互联网 亿人帮互联网科技 互联网科技产品 广州市恰铎互联网科技有限公司 中国科技创新与世界互联网大会 梅州GM互联网络科技有限公司 普陀区互联网教育科技管理办法 每日互联网科技新闻
0