每天都要LeetCode Day 6

2021-10-25 01:28:40 字數 1221 閱讀 3134

今天的題目是將乙個zigzag 的string以橫向輸出的方式返回~

這道題有點複雜,function中輸入乙個string和zigzag行數,以string的zigzag排列的橫向值輸出。 我的思路是先將輸入排成zigzag的樣子,然後再將橫向的值輸出。

首先把輸入的string轉成char array,方便取出char,然後設定第乙個條件:如果zigzag的行數小於等於1,那麼當前string就不需要通過演算法,直接return就行。接著先設定乙個stringbuilder,將zigzag行數存進去,(今天才知道stringbuilder比stringbuffer快,但是執行緒不太安全)。將stringbuilder裡的元件都建立好。

現在就可以開始設計演算法了,先設定zigzagindex為0,作為代表我遍歷時zigzag的當前位置,然後設定step為1,因為剛開始zigzag是往下走的,即每次加1。設定乙個forloop,為代表輸入的char array中的每個character,設stringbuilder裡在第zigzagindex位置的值為相對應的character,如果zigzagindex等於0了(即馬上要向下移動),就將step設為1,如果要等於zigzag行數-1了(即馬上要向上移動),就將step設為-1。然後每有乙個character放進stringbuilder裡,我都要更新zigzagindex的值為step+zigzagindex,跳出迴圈,用join方法返回就可以跳過其中的空格了。

**:

class

solution

stringbuilder[

] sb =

newstringbuilder

[numrows]

;for

(int i =

0; i < numrows; i++

)int zigzagindex =0;

int step =1;

for(

char character : c)

else

if(zigzagindex == numrows -1)

zigzagindex += step;

}return string.

join(""

,sb)

;}

這道題leetcode上差評如潮-。-

每天都要進步

最近的學習狀態一直不大好,也許是自己抓得不緊罷了。現在確實要找出一種途徑來督促自己技術的持續發展,於是我想到了大眾 決定從今天起,在此文記錄每天學習的進展,技術方向,技術內容等,事無鉅細,均作記錄。當然,也許大家對此也毫無關心,這也只能算是自己對自己的乙個要求吧。2011.9.17 2011.9.1...

每天都要打魚 閱讀摘錄2

2005年3月1日 性格是怎樣決定命運的 一位日本的心理學大師說過一句話 心理變,態度亦變 態度變,行為亦變 行為變,習慣亦變 習慣變,人格亦變 人格變,命運亦變。換句話說,乙個人要想運勢好,他的性格首先要好。你不能總是讓別人跟你在一起不舒服,這樣做人就缺少親和力,所以人在有自知之明之後能夠像古人說...

每天都要向孩子說的話

一 激勵孩子積極向上的六句話 1 你將會成為了不起的人!2 別怕,你肯定能行!3 只要今天比昨天強!4 有個兒子真好!5 你一定是個人生的強者!6 你是個聰明孩子,成績一定會趕上去的!二 使孩子充滿自信的7句話 1 孩子,你仍然很棒!2 孩子,你一點也不笨!3 告訴自己,我能做到!4 我很欣賞你在這...