Re: [閒聊] 每日leetcode已回收

看板Marginalman作者 (神楽めあ的錢包)時間1年前 (2024/04/06 16:39), 編輯推噓3(300)
留言3則, 2人參與, 1年前最新討論串97/1548 (看更多)
1249. Minimum Remove to Make Valid Parentheses 有一個字串由小寫字母、左括號、右括號組成 左括號、右括號必須互相配對 請把所有不合法的括號拿掉 思路: 用一個stack紀錄所有左括號的位置 遇到左括號就把左括號丟到stack裡面 遇到右括號就看stack裡面有沒有東西 沒有就代表這個右括號是不合法的,把它拿掉 最後要在遍歷一次stack把裡面所有左括號拿掉 golang code func minRemoveToMakeValid(s string) string { stack := []int{} temp := []byte(s) i := 0 for i < len(temp) { if temp[i] == '(' { stack = append(stack, i) } else if temp[i] == ')' { if len(stack) > 0 { stack = stack[:len(stack)-1] } else { temp = append(temp[:i], temp[i+1:]...) i-- } } i++ } for i := len(stack) - 1; i > -1; i-- { temp = append(temp[:stack[i]], temp[stack[i]+1:]...) } return string(temp) } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.82.26.211 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1712392789.A.54D.html

04/06 16:50, 1年前 , 1F
大師
04/06 16:50, 1F

04/06 16:51, 1年前 , 2F
大師
04/06 16:51, 2F

04/06 17:00, 1年前 , 3F
golang要處理資料我都覺得好麻煩窩
04/06 17:00, 3F
文章代碼(AID): #1c4GfLLD (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1c4GfLLD (Marginalman)