將乙個給定字串根據給定的行數,以從上往下、從左到右進行 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...