這道題目在解題時關鍵是要弄清楚「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,根據上圖,我們已得知解題思路,但是難以控制的是空格字元如何判斷。這...