博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Z字形变换
阅读量:3982 次
发布时间:2019-05-24

本文共 588 字,大约阅读时间需要 1 分钟。

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

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

L   C   I   RE T O E S I I GE   D   H   N

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

class Solution:    def convert(self, s: str, numRows: int) -> str:        # 如果只有一行,直接输出字符串        if numRows == 1 or numRows >= len(s):            return s        # 将每一行看成列表的一个字符串元素        res=['']*numRows        row,k = 0,1        for i in s:            res[row] += i# 字符串拼接            row += k# 根据k进行上下行之间的移动            if row == 0 or row==numRows-1:                k = -k        return "".join(res)#从上到下把每一行连起来

 

转载地址:http://qejui.baihongyu.com/

你可能感兴趣的文章
logback高级特性使用(二) 自定义Pattern模板
查看>>
微信产品经理和架构师们是靠什么扛住了10亿个红包
查看>>
JVM 线程堆栈分析过程详解
查看>>
JVM并发机制探讨—内存模型、内存可见性和指令重排序
查看>>
可扩展、高可用服务网络设计方案
查看>>
如何构建高扩展性网站
查看>>
微服务架构的设计模式
查看>>
技术领导力:作为技术团队领导经常为人所忽略的技能和职责
查看>>
持续可用与CAP理论 – 一个系统开发者的观点
查看>>
nginx+tomcat+memcached (msm)实现 session同步复制
查看>>
c++数组指针和指针数组详解
查看>>
c++指针常量与常量指针详解
查看>>
c++字符数组和字符指针区别以及str***函数
查看>>
c++的string类初始化及其常用函数
查看>>
c++类的操作符重载注意事项
查看>>
c++模板与泛型编程
查看>>
STL分配器allocator
查看>>
STL::deque以及由其实现的queue和stack
查看>>
WPF与MVVM的实现(四)命令绑定
查看>>
WPF与MVVM的实现(三)List的数据绑定
查看>>