06Z字形變換

2021-10-02 08:47:34 字數 1242 閱讀 8767

參考文獻

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

example: 輸入字串為 "leetcodeishiring" 行數為 "3" 時,排列如下:

return :

l c i r

e t o e s i i g

e d h n

按行排序

通過從左向右迭代字串,我們可以輕鬆地確定字元位於 z 字形圖案中的哪一行

class solution 

string str_convert;

for (string row : rows)

return str_convert;}};

c++ 語法

stl-string 基本操作

string 表示可變長的字串行,必須包含string標頭檔案(#include)

初始化和定義物件

string s1 //預設初始化,s1是乙個空字串

string 操作

cctype 標頭檔案函式

stl物件的遍歷

for (char c : s)//對 string物件s進行遍歷

<=>

for (int i=0;i新增字元

rows[cur_row]+=c;

str_convert+=row;

c++ prime 第5版

c++ 標準庫

devdocs

leetcode—z 字形變換、for、string、vector筆記

leetcode—z 字形變換、for、string、vector筆記

06 Z 字形變換

這道題目在解題時關鍵是要弄清楚 z字形排列 是怎麼一回事,僅僅根據numrow為3的情況可能看的不會 太明顯,把行數為4和行數為3的情況,做乙個對比,更容易找到解題思路。1 當不考慮對角線上的元素時,完成可以看成是數字是一列一列的跳轉,且跳轉距離為numrow 2 2 2 再去考慮計算對角線的元素的...

06 Z字形變換

題目好像開始越來越難了,這道題一開始毫無頭緒,只知道了每一行用乙個slice,然後依次把字元放進slice中,然後突然發現好像可以找規律,如果分成n行,那麼每乙個迴圈都是2n 2個元素,這道題最重要的就是要知道字元應該放在哪個slice裡面。假如要分成4行,那麼一次包括 tmp 2 4 2 6個元素...

leecode刷題學習 06 Z字形變換

解讀本題第一想法肯定是遍歷陣列,但是如何控制陣列向下走和向前走是問題所在關鍵。這裡我們將每一行看作乙個rows i rows 是乙個字串陣列 圖中為例項答案,是乙個rows 4 的陣列,rows 0 ldr,rows 1 eoeii,根據上圖,我們已得知解題思路,但是難以控制的是空格字元如何判斷。這...