【LeetCode】20. Valid Parentheses

揚-avatar-img
發佈於Leetcode
更新於 發佈於 閱讀時間約 2 分鐘

前幾天看別人直播刷題,心血來潮打開很久沒動的leetcode試試,挑了一題當初面試沒寫出來的題目。嗯...我那時才剛碰資料結構,知道要用stack寫卻沒實作過任何東西,現在有工作經驗後再來寫,看看會不會有不一樣的想法。

至於語言的話,較熟練一點還是Javascript或是Java,方便點還是先用Javascript,順便練練ES6的一些特性。

raw-image

稍微更改一點寫法,改動後的效率似乎都差不多,只是有點懷疑如果一開始stack是空的,pop()怎麼沒有出問題,總之還是過了測資。

raw-image

既然都做了,不如另外改寫成java試試?反正頂多是語法不一樣吧?於是我照著上面的程式碼照搬了一版過來。

raw-image

執行結果...錯了!而錯的地方正是剛剛存疑的點: stack裡面還是空的狀態,pop()出大事啦!

試著加了幾個條件排出特例,依然還是不行。

突然腦中閃過一個想法!如果javascript有在pop()時對空值做特別處理,那麼我同樣在java試試不讓它視為錯誤不就好了?結果就是以下版本:

raw-image
raw-image

測資過了,數據有時候誇張的好,不過在例外寫死個不是對應符號的'0'是有點偷吃步的感覺。當然,實際開發如果這樣寫,接手維護的人只會滿頭問號吧~



留言
avatar-img
留言分享你的想法!
avatar-img
Err500
12會員
77內容數
遇到的坑、解過的題、新知識的探索、舊時代的遺毒!? 工作後我發現,文件更新往往跟不上新需求的更迭,犯錯的歷史總是不斷重演。因此,我改變了方式,蒐集從程式上、系統上的每一次異常處理過程,好讓再次遇到相同的問題時能快速應變。此專題就是我的錯題本,期待日後不管在工作上或交流上遇到難題,都能輕鬆地應答:有什麼難的,我都踩過。
Err500的其他內容
2024/09/17
◆ 句子(sentence)的定義:小寫字母拼成的單字所組成的字串,每個單字間由單一個空白字元進行分隔。 ◆ uncommon的定義:在單一句子內只出現一次,並且沒有出現在另外一句中。 ◆ 給兩個句子s1跟s2,回傳所有符合uncommon定義的單字,可以為任意順序。
Thumbnail
2024/09/17
◆ 句子(sentence)的定義:小寫字母拼成的單字所組成的字串,每個單字間由單一個空白字元進行分隔。 ◆ uncommon的定義:在單一句子內只出現一次,並且沒有出現在另外一句中。 ◆ 給兩個句子s1跟s2,回傳所有符合uncommon定義的單字,可以為任意順序。
Thumbnail
2023/04/15
題目 Given two integer arrays pushed and popped each with distinct values, return true if this could have been the result of a sequence of push and pop
Thumbnail
2023/04/15
題目 Given two integer arrays pushed and popped each with distinct values, return true if this could have been the result of a sequence of push and pop
Thumbnail
2022/04/22
題目: 給一個陣列,判斷內容是不是遞增或遞減
Thumbnail
2022/04/22
題目: 給一個陣列,判斷內容是不是遞增或遞減
Thumbnail
看更多
你可能也想看
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
重點摘要: 6 月繼續維持基準利率不變,強調維持高利率主因為關稅 點陣圖表現略為鷹派,收斂 2026、2027 年降息預期 SEP 連續 2 季下修 GDP、上修通膨預測值 --- 1.繼續維持利率不變,強調需要維持高利率是因為關稅: 聯準會 (Fed) 召開 6 月利率會議
Thumbnail
LeetCode 是一個程式語言版的線上題庫平臺,提供題目描述、程式碼區塊、解題者分享的解法和疑問討論。藉由這篇文章分享我在 LeetCode 上的使用經驗和觀點,包括刷題的重要性、解題心態和練習目標。
Thumbnail
LeetCode 是一個程式語言版的線上題庫平臺,提供題目描述、程式碼區塊、解題者分享的解法和疑問討論。藉由這篇文章分享我在 LeetCode 上的使用經驗和觀點,包括刷題的重要性、解題心態和練習目標。
Thumbnail
題目會給我們個陣列target,問我們從整數串流中1~n之中,如何透過stack 的 push和pop來模擬生成target指定的形式?
Thumbnail
題目會給我們個陣列target,問我們從整數串流中1~n之中,如何透過stack 的 push和pop來模擬生成target指定的形式?
Thumbnail
JavaScript Array 基本操作筆記
Thumbnail
JavaScript Array 基本操作筆記
Thumbnail
題目會給定一個字串s,裡面都是由() [] {}打散交錯而成。 問我們給定的輸入字串s 是不是合法括弧自串,也就是所有的右括弧都在左括弧後面,而且可以兩兩相消。
Thumbnail
題目會給定一個字串s,裡面都是由() [] {}打散交錯而成。 問我們給定的輸入字串s 是不是合法括弧自串,也就是所有的右括弧都在左括弧後面,而且可以兩兩相消。
Thumbnail
Valid Parentheses : 確認input的括號是否符合成雙成對的規則,符合回傳true,否則回傳false.
Thumbnail
Valid Parentheses : 確認input的括號是否符合成雙成對的規則,符合回傳true,否則回傳false.
Thumbnail
題目 Given two integer arrays pushed and popped each with distinct values, return true if this could have been the result of a sequence of push and pop
Thumbnail
題目 Given two integer arrays pushed and popped each with distinct values, return true if this could have been the result of a sequence of push and pop
Thumbnail
這只是一篇測試功能的文章
Thumbnail
這只是一篇測試功能的文章
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News