06 Z 字形變換

2021-10-01 22:30:54 字數 428 閱讀 5567

這道題目在解題時關鍵是要弄清楚「z字形排列」是怎麼一回事,僅僅根據numrow為3的情況可能看的不會

太明顯,把行數為4和行數為3的情況,做乙個對比,更容易找到解題思路。

1)當不考慮對角線上的元素時,完成可以看成是數字是一列一列的跳轉,且跳轉距離為numrow * 2 - 2;

2)  再去考慮計算對角線的元素的位置。

public string convert(string s, int numrows) 

stringbuilder builder = new stringbuilder();

for (int i=0; i

} else

}} return builder.tostring();

}

06 Z字形變換

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

06Z字形變換

參考文獻 將乙個給定字串根據給定的行數,以從上往下 從左到右進行 z 字形排列。example 輸入字串為 leetcodeishiring 行數為 3 時,排列如下 return l c i r e t o e s i i g e d h n 按行排序 通過從左向右迭代字串,我們可以輕鬆地確定字元...

leecode刷題學習 06 Z字形變換

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