package main import ( "fmt" ) func main() { var t int fmt.Scan(&t) var n int for t>0{ fmt.Scan(&n) var x int stk1,stk2:=[]int{},[]int{} cnt:=map[int]int{} for n>0{ fmt.Scan(&x) if _,ok:=cnt[x];ok{ //用两个栈来维护会话列表 for stk1[len(stk1)-1]!=x{ stk2=append(stk2,stk1[len(stk1)-1]) stk1=stk1[:len(stk1)-1] } stk1=append([]int{stk1[len(stk1)-1]},stk1[:len(stk1)-1]...) for len(stk2)>0{ stk1=append(stk1,stk2[len(stk2)-1]) stk2=stk2[:len(stk2)-1] } }else{ stk1=append([]int{x},stk1...) cnt[x]++ } n-- } for _,x:=range stk1{ fmt.Printf("%v ",x) } fmt.Println() t-- } }