最容易想到用二維陣列的方法去做,但過於麻煩。
下面使用一種簡單的方法去做。
從左向右遍歷字串。將各行定義成字串陣列,最後再將該陣列拼接起來即得到答案。因為字串轉換過程即向下向右,反覆迴圈,設定 down 變數表示是否向下,loc 變數表示當前字串陣列的下標,如果 down 為 true,則 loc+=1,字串陣列下標向後移動,將當前字元加入當前字串中;如果 down為 false,則表示向右,則 loc−=1,字串陣列下標向前移動,將當前字元加入當前字串中。
class solution
int loc = 0;
boolean down = false;
for(int i=0;i
if(down == true)else
}string result = "";
for(string row : rows)
return result;}}
Z字形變換
題目 將字串 paypalishiring 以z字形排列成給定的行數 p a h n a p l s i i g y i r 之後從左往右,逐行讀取字元 pahnaplsiigyir 思路 通過從左向右迭代字串,我們可以輕鬆地確定字元位於 z 字形圖案中的哪一行。演算法 我們可以使用 min num...
Z 字形變換
將乙個給定字串根據給定的行數,以從上往下 從左到右進行 z 字形排列。輸入 s leetcodeishiring numrows 4 輸出 ldreoeiiecihntsg l d r e o e i i e c i h n t s g 注釋思路 class solution 有了列數和行數,總個數...
Z 字形變換
將乙個給定字串根據給定的行數,以從上往下 從左到右進行 z 字形排列。比如輸入字串為 leetcodeishiring 行數為 3 時,排列如下 l c i r e t o e s i i g e d h n之後,你的輸出需要從左往右逐行讀取,產生出乙個新的字串,比如 lciretoesiigedh...