func RemoveDuplicate(l *list.List) *list.List {
	exists := make(map[interface{}]bool)
	var eNext *list.Element

	for e := l.Front(); e != nil; e = eNext {
		eNext = e.Next()
		if _, ok := exists[e.Value]; ok == true {
			l.Remove(e)
		} else {
			exists[e.Value] = true
		}
	}
	return l
}
// RemoveDuplicate removes duplicated elements from linked list

RemoveDuplicate removes duplicated elements from linked list
// RemoveDuplicate removes duplicated elements from linked list
func RemoveDuplicate(l *list.List) *list.List {
	exists := make(map[interface{}]bool)
	var eNext *list.Element
	for e := l.Front(); e != nil; e = eNext {
		eNext = e.Next()
		if _, ok := exists[e.Value]; ok == true {
			l.Remove(e)
		} else {
			exists[e.Value] = true
		}
	}
	return l
}
func RemoveDuplicate ( l * list . List ) * list . List { exists := make ( map [ interface { } ] bool ) var eNext * list . Element for e := l . Front ( ) ; e != nil ; e = eNext { eNext = e . Next ( ) if _ , ok := exists [ e . Value ] ; ok == true { l . Remove ( e ) } else { exists [ e . Value ] = true } } return l }
RemoveDuplicate removes duplicated elements from linked list
RemoveDuplicate removes duplicated elements from linked list