Open bourne-3 opened 1 year ago
字符串解码
通过此rep的模版无法通过,具体算法如下:
func decodeString(s string) string { if len(s) == 0 { return "" } stack := make([]byte, 0) for i := 0; i < len(s); i++ { switch s[i] { case ']': temp := make([]byte, 0) for len(stack) != 0 && stack[len(stack)-1] != '[' { v := stack[len(stack)-1] stack = stack[:len(stack)-1] temp = append(temp, v) } // pop '[' stack = stack[:len(stack)-1] // pop num idx := 1 for len(stack) >= idx && stack[len(stack)-idx] >= '0' && stack[len(stack)-idx] <= '9' { idx++ } // 注意索引边界 num := stack[len(stack)-idx+1:] stack = stack[:len(stack)-idx+1] count, _ := strconv.Atoi(string(num)) for j := 0; j < count; j++ { // 把字符正向放回到栈里面 for j := len(temp) - 1; j >= 0; j-- { stack = append(stack, temp[j]) } } default: stack = append(stack, s[i]) } } return string(stack) }
您发的邮件我已收到,祝你生活愉快!
https://leetcode.cn/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof/?envType=study-plan&id=lcof&plan=lcof&plan_progress=f7ebe53
两个栈实现队列的也有误
字符串解码
通过此rep的模版无法通过,具体算法如下: