package main import ( "fmt" ) type node struct { val int next *node } type Queue struct { head *node tail *node } func NewQueue() *Queue { return &Queue{} } func (q *Queue) push(val int) { n := &node{val: val, next: nil} if q.head == nil { q.head = n q.tail = q.head } else { q.tail...