Re: [闲聊] 每日leetcode

楼主: JIWP (JIWP)   2024-04-06 16:39:47
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
作者: SecondRun (雨夜琴声)   2024-04-06 16:50:00
大师
作者: digua (地瓜)   2024-04-06 16:51:00
大师
作者: SecondRun (雨夜琴声)   2024-04-06 17:00:00
golang要处理资料我都觉得好麻烦窝

Links booklink

Contact Us: admin [ a t ] ucptt.com