leetcode Z字形變換

2021-09-25 01:20:22 字數 1152 閱讀 9354

將乙個給定字串根據給定的行數,以從上往下、從左到右進行 z 字形排列。

比如輸入字串為 「leetcodeishiring」 行數為 3 時,排列如下:

之後,你的輸出需要從左往右逐行讀取,產生出乙個新的字串,比如:「lciretoesiigedhn」。

請你實現這個將字串進行指定行數變換的函式:

string convert(string s, int numrows);

示例 1:

輸入: s = 「leetcodeishiring」, numrows = 3

輸出: 「lciretoesiigedhn」

示例 2:

輸入: s = 「leetcodeishiring」, numrows = 4

輸出: 「ldreoeiiecihntsg」

解釋:

思路

1.觀察可得字串還是按順序把乙個個字元分發到numrows個字串中,從上往下分發到底後,再從下往上分發到頂,如此重複到字串結束

2.定義numsrows個空字串來接收分發的結果,pointer作為分發的指標,頂部->從上往下->底部->從下往上->頂部->…

3.按順序將numrows個字串拼接到output字串中,並返回

class solution 

string strings = new string[numrows];

for (int i = 0; i < numrows; i++)

int pointer = 0; //分派指標

boolean flag = true; //指標移動方向,預設向右

string output = ""; //結果儲存

for (int i = 0; i < s.length(); i++)

for (int i = 0; i < strings.length; i++)

return output;}}

leetcode Z字形變換

將乙個給定字串根據給定的行數,以從上往下 從左到右進行 z 字形排列。比如輸入字串為 leetcodeishiring 行數為 3 時,排列如下 l c i r e t o e s i i g e d h n 之後,你的輸出需要從左往右逐行讀取,產生出乙個新的字串,比如 lciretoesiiged...

LeetCode Z字形變換

繼續刷題 題目 z字形變換 將乙個給定字串根據給定的行數,以從上往下,從左往右進行z字形排列。比如輸入字串為 leetcodeishiring 行數為 3 時,排列如下 l c i r e t o e s i i g e d h n之後,你的輸出需要從左往右逐行讀取,產生乙個新的字串,比如 lcir...

leetcode Z 字形變換

將乙個給定字串 s 根據給定的行數 numrows 以從上往下 從左到右進行 z 字形排列。比如輸入字串為 paypalishiring 行數為 3 時,排列如下 p a h n a p l s i i g y i r 之後,你的輸出需要從左往右逐行讀取,產生出乙個新的字串,比如 pahnaplsi...