Leetcode 6.Z 字形变换 (每日一题 20210630)
生活随笔
收集整理的這篇文章主要介紹了
Leetcode 6.Z 字形变换 (每日一题 20210630)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
將一個給定字符串 s 根據(jù)給定的行數(shù) numRows ,以從上往下、從左到右進行?Z 字形排列。比如輸入字符串為 "PAYPALISHIRING"?行數(shù)為 3 時,排列如下:P A H N
A P L S I I G
Y I R
之后,你的輸出需要從左往右逐行讀取,產(chǎn)生出一個新的字符串,比如:"PAHNAPLSIIGYIR"。請你實現(xiàn)這個將字符串進行指定行數(shù)變換的函數(shù):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"鏈接:https://leetcode-cn.com/problems/zigzag-conversionclass Solution:def convert(self, s: str, numRows: int) -> str:if numRows < 2: return sres = ["" for _ in range(numRows)]i, flag = 0, -1for c in s:res[i] += cif i == 0 or i == numRows - 1:flag = -flagi += flagreturn "".join(res)
總結(jié)
以上是生活随笔為你收集整理的Leetcode 6.Z 字形变换 (每日一题 20210630)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode 42.接雨水 (每日一
- 下一篇: Leetcode 62.不同路径 (每日