type Deque struct {
indexes []int
}
func (d *Deque) push(i int) {
d.indexes = append(d.indexes, i)
}
func (d *Deque) getFirst() int {
return d.indexes[0]
}
func (d *Deque) popFirst() {
d.indexes = d.indexes[1:]
}
func (d *Deque) getLast() int {
return d.indexes[len(d.indexes)-1]
}
func (d *Deque) popLast() {
d.indexes = d.indexes[:len(d.indexes)-1]
}
func (d *Deque) empty() bool {
return 0 == len(d.indexes)
}