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

力扣题目【6. Z 字形变换】 Java题解

6. Z 字形变换
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

思路:

我们通过一个数组和标志来模拟这个过程。首先是数组,数组代表的是经过Z字形变换后每一行输出的结果,这里使用StringBuilder数组。而标志表示的是变换过程中下个字符所在的方向,通过一个boolean表示,true表示向下,false表示向上。
然后需要对numRows为1的情况特殊处理,直接返回原数组。

代码

class Solution {
    public String convert(String s, int numRows) {
        if(numRows == 1) return s;
        StringBuilder[] list = new StringBuilder[numRows];
        for(int i=0;i<numRows;i++) list[i] = new StringBuilder();
        int n = s.length();
        int line =1;//现在在第几行
        boolean direction = true;//下次移动方向
        for(int i=0;i<n;i++){
            list[line-1].append(s.charAt(i));
            line = direction?line+1:line-1;
            if(line == 1) direction = true;
            else if(line == numRows) direction = false;
        }
        StringBuilder res = new StringBuilder();
        for(StringBuilder sb:list) res.append(sb);
        return res.toString();
    }
}

http://www.kler.cn/a/524783.html

相关文章:

  • 网关登录校验
  • WordPress event-monster插件存在信息泄露漏洞(CVE-2024-11396)
  • 机器人基础深度学习基础
  • 嵌入式知识点总结 ARM体系与架构 专题提升(三)-中断与异常
  • 构建 QA 系统:基于文档和模型的问答
  • Linux 非阻塞IO
  • SQL UCASE() 函数详解
  • 将DeepSeek接入Word,打造AI办公助手
  • Spring AI 在微服务中的应用:支持分布式 AI 推理
  • RK3568使用opencv(使用摄像头捕获图像数据显示)
  • python-decouple和 django-environ管理 Python/Django 项目中的环境变量
  • Van-Nav:新年,将自己学习的项目地址统一整理搭建自己的私人导航站,供自己后续查阅使用,做技术的同学应该都有一个自己网站的梦想
  • deepseek本地部署
  • 算法每日双题精讲 —— 前缀和(【模板】一维前缀和,【模板】二维前缀和)
  • 线性调整器——耗能型调整器
  • 练习题 - Django 4.x Auth 身份验证使用示例和配置方法
  • HTB:Cicada[RE-WriteUP]
  • 推荐七节来自NVIDIA、Google、斯坦福的AI课程
  • mysql.sock.lock 导致mysql重启失败
  • 《深度剖析Q-learning中的Q值:解锁智能决策的密码》
  • 前缀和——矩阵区域和
  • 【数据分享】1929-2024年全球站点的逐月平均能见度(Shp\Excel\免费获取)
  • 3.观察者模式(Observer)
  • 【memgpt】letta 课程1/2:从头实现一个自我编辑、记忆和多步骤推理的代理
  • 使用Redis生成全局唯一ID示例
  • vue框架技术相关概述以及前端框架整合