// Package q3612 implements a solution for https://leetcode.com/problems/process-string-with-special-operations-i/ package q3612 import "slices" func processStr(s string) string { ret := make([]byte, 0, len(s)*2) for i := range len(s) { switch s[i] { case '*': ret = ret[:max(len(ret)-1, 0)] case '#': ret = append(ret, ret...) case '%': slices.Reverse(ret) default: ret = append(ret, s[i]) } } return string(ret) } var _ = processStr