【Leetcode】【python】ZigZag Conversion
来源:互联网 发布:wps流程图软件visio 编辑:程序博客网 时间:2024/06/05 19:44
题目大意
在行数row给定时,字符串“PAYPALISHIRING”的Z字形(zigzag)输出
解题思路
不涉及某种算法,考察思路。
创建一个二维数组,里面有row个数组。
设置好step=+1,一步步到了第3(row)步,将step设置为-1,往回走一步,再往回走一步,只到回到第一步,再将step设置为+1,如此循环。
最后将二维数组内list合并
代码
class Solution(object): def convert(self, s, numRows): """ :type s: str :type numRows: int :rtype: str """ if numRows == 1 or numRows >= len(s): return s zigzag = [[] for x in range(numRows)] # 创建一个二维数组[[],[],[]] row, step = 0, 1 for c in s: zigzag[row] += c, if row == 0: step = 1 elif row == numRows - 1: step = -1 row += step # return ''.join(reduce(operator.add, zigzag)) # [[u'P', u'A', u'H', u'N'], [u'A', u'P', u'L', u'S', u'I', u'I', u'G'], [u'Y', u'I', u'R']] result = '' for i in range(len(zigzag)): result += ''.join(zigzag[i]) # list拼接为字符串 return result
总结
阅读全文
0 0
- [Leetcode] ZigZag Conversion @Python
- 【Leetcode】【python】ZigZag Conversion
- 【LeetCode with Python】 ZigZag Conversion
- 6. ZigZag Conversion Leetcode Python
- 【LeetCode with Python】 ZigZag Conversion
- [Leetcode]6. ZigZag Conversion @python
- leetcode-06-zigzag conversion-python
- [leetcode: Python]6. ZigZag Conversion
- Leetcode题解(Python): 6. ZigZag Conversion
- LeetCode 6. ZigZag Conversion(Python)兼翻译
- LeetCode: ZigZag Conversion
- LeetCode : ZigZag Conversion
- leetcode 13:zigzag conversion
- [LeetCode] Zigzag Conversion
- LeetCode 6 - ZigZag Conversion
- Leetcode : ZigZag Conversion
- 【leetcode】Zigzag Conversion
- [LeetCode]ZigZag Conversion
- 杭电acm 1420 a^b%c
- kali linux on android armhf 安装 tmate
- 【转载】基于C#的socket编程的TCP同步实现
- mysql Access denied for user root@localhost错误解决方法总结(转)
- vim入坑手册
- 【Leetcode】【python】ZigZag Conversion
- MySQL基础教程之存储过程
- 2017.08.08
- 错误提示:warning: push.default is unset
- redis连接不了客户端的问题
- Dockers Job for docker.service failed because the control process exited with error code
- 2017 暑假艾教集训 day8 (树链剖分+树上点分治)
- 线程池原理
- JS 原型