Re: [閒聊] 每日LeetCode

看板Marginalman作者 (みけねこ的鼻屎)時間1年前 (2022/09/22 10:40), 1年前編輯推噓4(401)
留言5則, 4人參與, 1年前最新討論串6/719 (看更多)
557. Reverse Words in a String III 題目: 給定一個字串,返回這個字串以"空白分隔"的反轉。 Example: Input: s = "God Ding" Output: "doG gniD" 思路: 1.遍歷字串直到找到空白 2.若在i位置找到空白則把start到i-1位置的字串都反轉,並紀錄下個start的位置 3.遍歷完字串後為了避免不含空白的測資需要再對start到s.lengh反轉一次。 JavaCode: class Solution { public String reverseWords(String s) { char[] res = s.toCharArray(); int start = 0; for(int i = 0; i < s.length(); i++) { if(res[i] == ' ') { reverse(res, start, i - 1); start = i + 1; } } reverse(res, start, s.length() - 1); return new String(res); } private void reverse(char[] str,int start,int end){ while (start < end){ char temp = str[start]; str[start++] = str[end]; str[end--] = temp; } } } 今天是溫柔善良的easy -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.84.141 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1663814459.A.8D8.html

09/22 10:42, 1年前 , 1F
好認真 加油
09/22 10:42, 1F

09/22 10:45, 1年前 , 2F
你很棒
09/22 10:45, 2F

09/22 10:49, 1年前 , 3F
第3點是什麼意思ㄚ 再反轉一次不會變Ding God嗎
09/22 10:49, 3F
如果前面有空白的話start不會是0就會變成只反轉Ding 如果沒空白就是反轉0到s.length ※ 編輯: Rushia (1.160.84.141 臺灣), 09/22/2022 10:53:00

09/22 10:52, 1年前 , 4F
前半段轉一次 後半段也轉一次
09/22 10:52, 4F

09/22 10:55, 1年前 , 5F
喔喔 只有轉後才會更新start
09/22 10:55, 5F
文章代碼(AID): #1ZAyixZO (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1ZAyixZO (Marginalman)