golang 844比较含退格的字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang 844比较含退格的字符串相关的知识,希望对你有一定的参考价值。

type Stack struct {
	top  int
	data []interface{}
}

func (this *Stack) Push(i interface{}) {
	this.data = append([]interface{}{i}, this.data...)
}
func (this *Stack) Peek() interface{} {
	return this.data[0]
}
func (this *Stack) Pop() (interface{}, bool) {
	if len(this.data) == 0 {
		return nil, false
	}
	i := this.Peek()
	this.data = this.data[1:]
	return i, true
}

func backspaceCompare(S string, T string) bool {
	st1 := &Stack{}
	st2 := &Stack{}
	foo(st1, S)
	foo(st2, T)
	r1 := bar(st1)
	r2 := bar(st2)
	return r1 == r2
}
func foo(st *Stack, s string) {
	for _, v := range s {
		if string(v) == "#" {
			st.Pop()
		} else {
            st.Push(byte(v))
		}
	}
}
func bar(st *Stack) string {
	result := strings.Builder{}
	for {
		v, ok := st.Pop()
		if !ok {
			break
		}
        result.WriteByte(v.(byte))
	}
	return result.String()
}

golang为啥没有官方的gui包

有两个方面的原因,一是golang gui想让第三方来做 , 二是官方对golang的定位是主做后台。。。 参考技术A 因为golang官方主要把精力投入到go本身的发展中去(更准确的GC算法、更高的并发)。 而golang的主要贡献者不多,所以还不是很忙的过来,golang官方希望GUI可以靠社区推动发展,官方本身是没有意向发布GUI包的。

以上是关于golang 844比较含退格的字符串的主要内容,如果未能解决你的问题,请参考以下文章

844. 比较含退格的字符串

leetcode(844)---比较含退格的字符串(双指针)

844. 比较含退格的字符串

844. 比较含退格的字符串

844. 比较含退格的字符串

leetcode-844-比较含退格的字符串(用vector取代stack)